Hm, I don't know.
If MLCs code runs on every tick, I think it'd be negative, but have no numbers to reason about it, really.
It's just that running a bunch of lua lines has to be less efficient than likely very optimized C++ code implementing built-in combinators.
With sufficient delay= it can probably change, so if that's a goal/concern, I'd probably try making some rough "same amount of lua operations" benchmark-code, and copy-paste like 100 or 1K running processing-chains of each type into a field, measure what happens, maybe when you're away from them, so that any rendering stuff doesn't factor into it.
Never really benchmarked and optimized code here myself, beyond basic common sense like "use table for lookups", as I never built anything on that scale in factorio, so maybe treating this as an optimization tool is entirely erroneous too, unfortunately.