. .

smalltalk

Comparing VW, Cog, and Squeak

July 23, 2010 18:44:47.018

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: ,

posted by James Robertson

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...

 Share Tweet This