I had heard that there was a great presentation floating around by Steve Yegge about dynamic languages, virtual machines, and optimization. And I forget what got it in front of me, but yesterday I hit the transcript of the talk, definitely recommended reading even though it seems really long.
Stuff that I particularly liked was the talk about JIT optimization techniques (polymorphic inline caches, trace trees. Fantastic! Wish I had more time to keep up on stuff like that), introducing a new (unknown) language, and his commentary about systems optimization and local vs global optimization. I loved this:
Small systems are not only easier to optimize, they’re possible to optimize. And I mean globally optimize.
So when we talk about performance, it’s all crap. The most important thing is that you have a small system. And then the performance will just fall out of it naturally.
Loved it so much I’m considering developing a tattoo design around it. I’ve seen some horrid atrocities committed in the name of optimization, and then seen those systems fail outright at what they were supposed to be doing.
Definitely worth the time to read through. Even if you’re too ADD to read it, at least skim.