Comparing VW, Cog, and Squeak
I spent the afternoon taking a look at the performance of VW, Pharo on Cog, and Squeak on a standard VM. I used the package SimpleBenchmarks from the public store repository - I have a Squeak port as well. Here are the numbers (in milliseconds) for the tests, each one running 100,000 times on my Macbook Pro:
You'll have to grab the code to see exactly what the tests do, although the names are mostly explanatory. Bottom line: VisualWorks is still pretty darn fast, but if you're using Squeak or Pharo, Cog looks like a good thing.
Technorati Tags: benchmarks, performance
Comments
Re: Comparing VW, Cog, and Squeak
[anonymous] July 24, 2010 10:48:48.511
- the "DNU" test spends most time in the construction of the new selector
- the "Dictionary wite" test uses a tiny dictionary with 10 elements
- the "proxy" actually measures OrderedCollection creation performance
Re: Comparing VW, Cog, and Squeak
[HolgerK] July 24, 2010 10:49:45.121
last anonymous comment = me
Re: Comparing VW, Cog, and Squeak
[Henry] July 24, 2010 11:23:55.408
One thing which affects quite alot of these benchmarks (all write/read/iterate tests), is at:put: and at: not been implemented in native code by Cog yet, so it falls back to old smalltalk primitive code.
Also, collection iteration is particularly abysmal using the official Squeak vm, since it implements the closure code, but lacks the stack vm implementations, which remove the creation of block closures for each iteration.
That said, there's no doubt VW is still the speediest by far of the three :)
Re: Comparing VW, Cog, and Squeak
[Diego] July 26, 2010 10:40:06.851
If only VW had a nice Unix GUI...