[Pharo-project] CogVM speed
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
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
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
On 26 Mar 2012, at 09:07, Pavel Krivanek 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 ;-)
Well said, Pavel. Sven
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
I tried to compare two tests with Smalltalk/X too: - Mandelbrot (arithmetically intensive task) CogVM is 1.14 times slower than Smalltalk/X - Binary-trees Smalltalk/X is 1.4 times slower than CogVM It seems that this Smalltalk implementations are quite comparable... -- Pavel On Sun, Mar 25, 2012 at 11:43 PM, 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
participants (3)
-
Milan Mimica -
Pavel Krivanek -
Sven Van Caekenberghe