4 ms·
I disagree with one statement: > performance will go up, but implementation code size and > complexity will go up by about a factor of two Moving from basic
by larsberg 16y ago
I disagree with one statement:
> performance will go up, but implementation code size and
> complexity will go up by about a factor of two
Moving from basic compiler optimizations (CSE, let-floating, unused variable elimination) to static-analysis driven optimizations (arity raising, useless variable elimination, super-beta, CFA-driven closure conversion, transducer identification and optimization for concurrency) may only double code size, but the implementation complexity is pretty intense. Those optimizations often are performing global reasoning against a CPS-style intermediate representation, and debugging issues with them can take a while. We do all of the parenthesized operations listed earlier (in Manticore, http://manticore.cs.uchicago.edu http://manticore.cs.uchicago.edu), and I would claim order of magnitude more time/thought spent on the them.
That said, I think I'm supporting Matt's argument of avoiding moving up the complexity order unless you have to!