Just wanted to point you that 64-bit code is notably faster than 32-bit code on 64-bit CPUs. You could put it another way: in order for a Smalltalk program to be equivalent to a C/C++ program, you would have to strip out all those things you mention there. But you can't. Now, whose limitation is that? On 26 March 2012 09:07, Pavel Krivanek <pavel.krivanek@gmail.com> wrote:
I did it on 64bit. However among other things, there is a big issue with equivalence of the programs. Because the same program in C/C++ would have to be able to be interrupted any time by an user, contain debug information to be able to show the computation state in context of the source codes and modify temporary and instance variables, enumerate instances of any arbitrary class, serialize current computation state and continue even on the different platform etc. That all costs something and in this light the results of Smalltalk look quite impressive ;-)
-- Pavel
On Mon, Mar 26, 2012 at 8:20 AM, Milan Mimica <milan.mimica@gmail.com> wrote:
Have you compared with 32-bit binaries generated by gcc?
On 25 March 2012 23:43, Pavel Krivanek <pavel.krivanek@gmail.com> wrote:
Hi,
I tried a few benchmarks from Computer Language Benchmark Game
(
http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastes... )
on CogVM to compare it with VisualWorks and with the rest of the world.
Of course this benchmarks are not ideal (like all benchmarks) but the result is that CogVM is in average 1.8 times slower than VisualWorks 7.8 NC. For the most successful benchmark (binary-trees) it was 13.5 times slower than C (gcc) but in general we may except CogVM to be 20-30 times slower than C for this kind of tasks.
Thank you for the great work!
Cheers, -- Pavel
-- Milan Mimica http://sparklet.sf.net
-- Milan Mimica http://sparklet.sf.net