"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Tuesday, November 09, 2004

Appropriate Benchmarks

Catching up on some items, this one came through when I was on vacation a few months ago. Jon Udell wrote...

"When you think about it," Hugunin said, "why would the CLR be worse for dynamic languages than the JVM, given that Microsoft had the second mover advantage?" And in fact, while he had to do plenty of extra work to support dynamic features that the CLR doesn't natively offer, he notes that the massive engineering resources invested in the CLR make it highly optimized along a number of axes. So, for example, the CLR's function call overhead is apparently less than the native-code CPython's function call overhead, and this is one of the reasons why IronPython benchmarks well against CPython.
I am not sure I would use CPython as the benchmark for dynamic language performance.


Ian Bicking said...

Several of the performance improvements than Hugunin noted have (I think) already been implemented or at least toyed with in CPython since then. Really, I don't think anyone has much cared; given a particular localized optimization people seem to be able to reproduce it relatively easy, but no one is actively working to improve speed otherwise, at least in CPython. Except, I guess, psyco. Honestly, most Python programmers just don't care; pypy will be interesting, as it matters in a very different way there, but for practical programming it's just not that much of an issue.

Florian said...

Sometimes speed matters. As long as I can get more speed without changing my code I'll gladly take everything that offers this ( a reason why I'm not so fond of pyrex, more fond of psyco and waiting very eagerly on starkiller )

verbat said...

"Don't care" is..well... false :).
There are some many efforts to speed up python (even pyrex or ctype are, in the end, speed up efforts).

Anyway, I agree on the 'cpython not a good example'. the good example would be VisualWorks' JIT (and btw there was some work on porting python over there).

Gordon Weakliem said...

True, but CPython is a fair benchmark for *Python* performance.

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.