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.
2 comments:
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.
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 )
Post a Comment