Igor Stasenko uploaded a new version of CMakeVMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/CMakeVMMaker-IgorStasenko.27.mcz
==================== Summary ====================
Name: CMakeVMMaker-IgorStasenko.27
Author: IgorStasenko
Time: 10 February 2011, 7:53 pm
UUID: 0f53aee1-423d-4147-934e-57bfaa2dee97
Ancestors: CMakeVMMaker-IgorStasenko.26
- added some comments and recategorization
- added temporary config to track down Cog instability issues on linux (FixedVerSIDebugUnixConfig)
Igor Stasenko uploaded a new version of CMakeVMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/CMakeVMMaker-IgorStasenko.26.mcz
==================== Summary ====================
Name: CMakeVMMaker-IgorStasenko.26
Author: IgorStasenko
Time: 10 February 2011, 3:07:58 pm
UUID: 8668c05b-0a36-48e5-a32a-4ce7036264c2
Ancestors: CMakeVMMaker-IgorStasenko.25
- updated loader script to use new config
Igor Stasenko uploaded a new version of VMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/VMMaker-oscog-IgorStasenko.Stasenko.49.…
==================== Summary ====================
Name: VMMaker-oscog-IgorStasenko.Stasenko.49
Author: IgorStasenko
Time: 10 February 2011, 2:32:56 pm
UUID: 279087d0-4ec6-421d-950c-cfed0cabf5ea
Ancestors: VMMaker-oscog-Igor.Stasenko.48, VMMaker-oscog.47
- merge with oscog.47
Igor Stasenko uploaded a new version of CMakeVMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/CMakeVMMaker-IgorStasenko.25.mcz
==================== Summary ====================
Name: CMakeVMMaker-IgorStasenko.25
Author: IgorStasenko
Time: 10 February 2011, 2:51:50 pm
UUID: 869c275c-3559-48cc-b458-875aca7cb671
Ancestors: CMakeVMMaker-IgorStasenko.24
- added stack interpreter config for unix
To build stack vm use:
StackInterpreterUnixConfig generateWithSources
Igor Stasenko uploaded a new version of CMakeVMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/CMakeVMMaker-IgorStasenko.24.mcz
==================== Summary ====================
Name: CMakeVMMaker-IgorStasenko.24
Author: IgorStasenko
Time: 10 February 2011, 10:58:03 am
UUID: 85340558-9d3c-42aa-a43f-4fd37471101c
Ancestors: CMakeVMMaker-IgorStasenko.23
- fixed missing GL library linker flag. Now X11 driver module can be loaded
Hi!
Yesterday I downloaded the Linux Cog Vm in
http://www.mirandabanda.org/files/Cog/VM/VM.r2361.
So far so good until this morning. When I wanted to commit to monticello,
the vm and image get closed with no log and no error :(.
Any help will be appreciated,
Thanks!
Guille
Igor Stasenko uploaded a new version of CMakeVMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/CMakeVMMaker-IgorStasenko.23.mcz
==================== Summary ====================
Name: CMakeVMMaker-IgorStasenko.23
Author: IgorStasenko
Time: 9 February 2011, 9:00:05 pm
UUID: fe4af155-2800-49d3-80f3-c26356312320
Ancestors: CMakeVMMaker-IgorStasenko.22
- trying to add OpenGL support for linux Cog.
- x11 driver fails to load (had to use an existing one from standard build)
- still have no idea why VM built using cmake configs explodes few bytecodes after running
Folks,
The project overview text for the VMMaker project on SqueakSource was
written a number of years ago prior to the full Squeak relicensing and
is now misleading with respect to license, which I believe to be fully
MIT for all code in the VMMaker repository itself. For this reason, I
would like to change the overview to include clarification of license
status as follows:
"This package incorporates the Smalltalk source code (Slang) for the
virtual machine, as well as the code generator and toolset for creating
the Squeak VM portions not handwritten in C (or whatever). The platform
support code is maintained in a separate repository (currently Subversion
at www.squeakvm.org). You will need to use a SVN tool to acquire the
platform support code. See the Wiki page (tab above) for more info.
License for VMMaker project is MIT. All code contained in this package
is authored by signers of the Squeak license agreement and/or by persons
contributing directly to this repository under MIT license terms. All
new contributions to this project are required to be MIT licensed."
Are there any objections or issues with making this change? If no
objections I will do the update approximately two weeks from today.
Thanks,
Dave
Hi folks!
Since we are on the verge of 4.2, and we have a brand new Cog VM to play
with I felt like dusting off my old Pystone port to Squeak - Sqystone,
which I wrote back in 2004.
At that time Squeak was around 5 times faster than CPython. How do we
stack up today? Yeah, I know - hardly a good benchmark, they all lie etc
etc. :)
I am using Ubuntu 10.10 on a corei7, so this is running on a 64 bit CPU.
Cog!
====
Squeak 4.2-10966 (soon to be released) + latest Cog r2361 (binary download):
Pystone(1.1) time for 50000 passes = 0.06
This machine benchmarks at 833333.3 pystones/second
NOTE: AFAICT running with more passes does not improve it. Also, not
sure if I could get more out of this if I built from source on my box.
Regular Squeak
==============
Squeak 4.2-10966 (soon to be released) + regular Squeak VM 4.4.7-2357
(built from src):
Pystone(1.1) time for 50000 passes = 0.503
This machine benchmarks at 99403.6 pystones/second
Regular CPython
===============
CPython 3.1.2 (newest in Ubuntu Meerkat, minimal):
gokr@quigon:/usr/lib/python3.1/test$ python3.1 pystone.py
Pystone(1.1) time for 50000 passes = 0.57
This machine benchmarks at 87719.3 pystones/second
NOTE: 3.2 is reportedly a teeny bit faster. Also not built from source.
Pypy 1.4
========
wget http://pypy.org/download/pypy-1.4.1-linux64.tar.bz2
gokr@quigon:~/python/pypy-1.4.1-linux64$ ./bin/pypy
./lib-python/2.5.2/test/pystone.py
Pystone(1.1) time for 50000 passes = 0.15
This machine benchmarks at 333333 pystones/second
gokr@quigon:~/python/pypy-1.4.1-linux64$ ./bin/pypy
./lib-python/2.5.2/test/pystone.py 5000000
Pystone(1.1) time for 5000000 passes = 4.8
This machine benchmarks at 1.04167e+06 pystones/second
NOTE: Also not built from source. Here we run pystone a second time with
100x more loops and get a substantially better number.
Shedskin 0.7
============
sudo apt-get install g++ libpcre3-dev libgc-dev python-dev
sudo dpkg -i shedskin_0.7_all.deb
wget http://shedskin.googlecode.com/files/shedskin-examples-0.7.tgz
shedskin pystone.py
gokr@quigon:~/python/shedskin-examples-0.7$ make
g++ -O2 -march=native -fomit-frame-pointer -Wno-deprecated -I.
-I/usr/share/shedskin/lib /usr/share/shedskin/lib/builtin.cpp
pystone.cpp /usr/share/shedskin/lib/time.cpp
/usr/share/shedskin/lib/re.cpp -lgc -lpcre -o pystone
gokr@quigon:~/python/gokr@quigon:~/python/shedskin-examples-0.7$ ls -la
pystone*
-rwxr-xr-x 1 gokr gokr 297329 2011-02-07 23:01 pystone
-rw-r--r-- 1 gokr gokr 9193 2011-02-07 23:00 pystone.cpp
-rw-r--r-- 1 gokr gokr 1893 2011-02-07 23:00 pystone.hpp
-rw-r--r-- 1 gokr gokr 5774 2010-12-11 11:40 pystone.py
gokr@quigon:~/python/shedskin-examples-0.7$ ./pystone
This machine benchmarks at 2500000.000000 pystones/second
NOTE: I am wondering a bit about this. It tells the same whatever loops
I give it... But ok, perhaps it is all fine.
Summary
=======
- The regular Squeak VM has not been overrun by CPython in these 6 years
time. When I wrote Sqystone Squeak was 5x faster IIRC (can't find the
post anymore). Now they are equal more or less, Squeak still a teeny bit
faster.
- Cog is brutally fast on this one. Compared to CPython and regular
Squeak almost 10x faster.
- Pypy is about 20% faster than Cog if given enough time to actually
start jitting. Cool for the Pypy project! And cool that they aren't that
much faster than Cog. :)
- Shedskin is the "state of the art" of statically compiling Python via
C++ using type inferencing etc etc - so I hear. It is said to be faster
than Cython and Psyco. It ends up beating Cog, but "only" by a factor of
3x. I say "only" because that seems pretty good to me given that Cog is
a JIT and still pretty young and that Shedskin can only run a subset of
Python.
regards, Göran