Squeak on Java
squeak-devのtinyBenchmarks of Squeak on a JVM - was: A Possibly Interesting Linkによると、JavaVMの上でSqueakを動かすっていう実装が有るらしい。
http://weather-dimensions.com/Dan/SqueakOnJava.jarがその実装。
http://weather-dimensions.com/Dan/ForwardToThePast.jnlpでも動くらしいですが、SunのJava Startが動く環境で無いと駄目みたいです。
おまけに、JavaScriptで同じようなベンチマークをする、http://www.weather-dimensions.com/Dan/JavaScriptBenchmark.htmlというものもあるらしいです。
実行
取ってきたjarファイルを以下のように実行すれば、Mini Squeak 2.2が動作する。 今回テストした、JavaVMは1.4.2-p8らしい。
surudoi [ tmp/squeak/SqueakOnJava ] % javavm -version javavm: warning: The use of 'javavm' as a synonym for 'java' is deprecated java version "1.4.2-p8" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-p8-root_16_feb_2006_16_39) Java HotSpot(TM) Client VM (build 1.4.2-p8-root_16_feb_2006_16_39, mixed mode) surudoi [ tmp/squeak/SqueakOnJava ] % javavm -jar sSqueakOnJava.jar javavm: warning: The use of 'javavm' as a synonym for 'java' is deprecated BINGO: java.util.jar.JarVerifier$VerifierStream@b66cc Start reading at 1144401270611 version passes with swap= false Start installs at 1144401274107 Done installing at 1144401274311 Warning: Cannot convert string "-aliastt-gothic-medium-r-normal--*-140-*-*-p-*-jisx0201.1976-0" to type FontStruct Warning: Cannot convert string "-aliastt-gothic-medium-r-normal--*-140-*-*-p-*-jisx0208.1983-0" to type FontStruct
しかし、すっごく遅いです(^-^;) しかも、なんか不安定で応答が帰らない状態になったりします。
ベンチマーク
squeak-devのメーリングリストでは、0 tinyBenchmarksをprint itするのが流行っているらしい。
0 tinyBenchmarks '4574042 bytecodes/sec; 268807 sends/sec'
JavaVMを変えて性能でも見てみようかな?
ちなみに、SqueakVM 3.7-7上のSqueakPlugin2005Jだと'43331076 bytecodes/sec; 2490783 sends/sec'でした。