forked from xxgreg/deltablue
tomaszkubacki/deltablue
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Update October 2014 After 2 years of hard work from the Dart team, Dart is now comfortably ahead of OpenJDK and V8. Will also be interesting to test against the Oracle JVM. Here are the raw results. (Thanks for running this Rob). java version "1.7.0_65" OpenJDK Runtime Environment (IcedTea 2.5.2) (7u65-2.5.2-3~14.04) OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode) Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) V8 version 3.30.8 [console: dumb] d8> Dart VM version: 1.7.0-dev.4.5 (Thu Oct 9 06:28:13 2014) on "linux_x64" DeltaBlue Java 10x 6.4 ms java DeltaBlue 10 secs 0.15, mem 28492, cpu 128% DeltaBlue Java 100x 1.61 ms java DeltaBlue 100 secs 0.25, mem 43052, cpu 171% DeltaBlue Java 1000x 0.44 ms java DeltaBlue 1000 secs 0.51, mem 68668, cpu 177% DeltaBlue Java 10000x 0.2619 ms java DeltaBlue 10000 secs 2.70, mem 258788, cpu 114% DeltaBlue Java 100000x 0.24715 ms java DeltaBlue 100000 secs 24.79, mem 259948, cpu 103% DeltaBlue C gcc 10x 0.7ms Command exited with non-zero status 26 ./deltablue 10 gcc secs 0.00, mem 648, cpu 100% DeltaBlue C gcc 100x 0.52ms Command exited with non-zero status 28 ./deltablue 100 gcc secs 0.05, mem 648, cpu 100% DeltaBlue C gcc 1000x 0.494ms Command exited with non-zero status 30 ./deltablue 1000 gcc secs 0.49, mem 656, cpu 100% DeltaBlue C gcc 10000x 0.4948ms Command exited with non-zero status 32 ./deltablue 10000 gcc secs 4.95, mem 656, cpu 99% DeltaBlue C gcc 100000x 0.49121ms Command exited with non-zero status 34 ./deltablue 100000 gcc secs 49.13, mem 652, cpu 99% DeltaBlue C gcc -O3 10x 0.2ms Command exited with non-zero status 30 ./deltablue-o3 10 gcc -O3 secs 0.00, mem 656, cpu 100% DeltaBlue C gcc -O3 100x 0.26ms Command exited with non-zero status 32 ./deltablue-o3 100 gcc -O3 secs 0.02, mem 652, cpu 100% DeltaBlue C gcc -O3 1000x 0.229ms Command exited with non-zero status 34 ./deltablue-o3 1000 gcc -O3 secs 0.22, mem 660, cpu 100% DeltaBlue C gcc -O3 10000x 0.2273ms Command exited with non-zero status 36 ./deltablue-o3 10000 gcc -O3 secs 2.27, mem 656, cpu 99% DeltaBlue C gcc -O3 100000x 0.23264ms Command exited with non-zero status 38 ./deltablue-o3 100000 gcc -O3 secs 23.27, mem 660, cpu 99% DeltaBlue d8 10x 3.7ms ./d8 deltablue.js -- 10 secs 0.05, mem 16104, cpu 158% DeltaBlue d8 100x 0.7ms ./d8 deltablue.js -- 100 secs 0.08, mem 17212, cpu 157% DeltaBlue d8 1000x 0.254ms ./d8 deltablue.js -- 1000 secs 0.26, mem 19904, cpu 121% DeltaBlue d8 10000x 0.1949ms ./d8 deltablue.js -- 10000 secs 1.96, mem 28036, cpu 102% DeltaBlue d8 100000x 0.19622ms ./d8 deltablue.js -- 100000 secs 19.63, mem 45864, cpu 100% DeltaBlue Dart 10x 4.7ms dart DeltaBlue.dart 10 secs 0.10, mem 14904, cpu 100% DeltaBlue Dart 100x 0.72ms dart DeltaBlue.dart 100 secs 0.13, mem 16228, cpu 100% DeltaBlue Dart 1000x 0.199ms dart DeltaBlue.dart 1000 secs 0.26, mem 18308, cpu 101% DeltaBlue Dart 10000x 0.1439ms dart DeltaBlue.dart 10000 secs 1.50, mem 16232, cpu 100% DeltaBlue Dart 100000x 0.13733ms dart DeltaBlue.dart 100000 secs 13.79, mem 17820, cpu 100% Update - DartVM now beats JVM v1.8 see Nickolay's blog for details. http://bonovox.be/blog/?p=128 Original (Buggy) benchmark. http://labs.oracle.com/people/mario/java_benchmarking/index.html Updated faster java benchmark. https://community.cablelabs.com/svn/OCAPRI/tags/RI-I1_1_1-REL-A/ri/ODLSrc/OCAP-1.0/jvm/Sun/src/share/javavm/test/COM/sun/labs/kanban/DeltaBlue/DeltaBlue.java C Benchmark (And the original slow Java version, plus a few others) http://www.cl.cam.ac.uk/~mr10/Bench.html Dart benchmark https://github.com/dart-lang/benchmark_harness Results, allowing enough iterations for the VM's to warm up. gcc -O3 1x JVM 1.2x DartVM 1.3x V8 1.6x gcc 2.5x Comments on other aspects of the benchmark: The DartVM uses more memory than V8, and less than the JVM. Dart and V8 start up faster than the JVM (Not much of a surprise there). However interestingly, V8 appears to startup measurably faster than the DartVM. When testing a single iteration, V8 consistently takes ~10ms to start the benchmark, and ~20ms to execute it, versus Dart, which takes ~30ms to start, and also ~20 to execute. Using a script snapshot had no measurable impact on start up time. This probably reflects the small size of the benchmark, which doesn't use much, if any (excluding List) of the standard library code. At a wild guess, I'd say the start up time difference is due to Dart having a larger standard library, thus a larger initial snapshot, which takes a little longer to copy into memory. For usage in browsers, this 20ms headstart is likely irrelevant as the VM can be already be started before the first code is received. It would be nice to see some start up benchmarks using larger applications, so that improved start up time vs V8, can be evaluated. Perhaps using a large Dart application, built with dart2js, running on V8, and comparing against the start up time on the Dart VM is the way to go? java version "1.6.0_26" gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) V8 version 3.17.15.1 Dart VM version: 0.4.2.8_r20259 (Tue Mar 19 23:33:54 2013) DeltaBlue Java 10x 9.3 ms DeltaBlue Java 100x 2.96 ms DeltaBlue Java 1000x 0.898 ms DeltaBlue Java 10000x 0.5229 ms DeltaBlue Java 100000x 0.48908 ms DeltaBlue C gcc 10x 0ms DeltaBlue C gcc 100x 1ms DeltaBlue C gcc 1000x 0.98ms DeltaBlue C gcc 10000x 0.993ms DeltaBlue C gcc 100000x 0.9927ms DeltaBlue C gcc -O3 10x 0ms DeltaBlue C gcc -O3 100x 0.4ms DeltaBlue C gcc -O3 1000x 0.39ms DeltaBlue C gcc -O3 10000x 0.416ms DeltaBlue C gcc -O3 100000x 0.3936ms DeltaBlue d8 10x 4.1ms DeltaBlue d8 100x 1.16ms DeltaBlue d8 1000x 0.729ms DeltaBlue d8 10000x 0.6636ms DeltaBlue d8 100000x 0.65464ms DeltaBlue Dart 10x 5.9ms DeltaBlue Dart 100x 1.24ms DeltaBlue Dart 1000x 0.636ms DeltaBlue Dart 10000x 0.536ms DeltaBlue Dart 100000x 0.55263ms
About
Benchmark
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published