@@ -4,7 +4,7 @@ scriptorium
4
4
- quick and dirty benchmark suite (dont take it too serious)
5
5
- benchmarked latest versions at the time of writing (Jul 2015)
6
6
7
- ### languages/implementations evaluated (33 )
7
+ ### languages/implementations evaluated (34 )
8
8
- angelscript
9
9
- angelscript (angelscript-jit)
10
10
- c (c4)
@@ -13,6 +13,7 @@ scriptorium
13
13
- chaiscript
14
14
- dao
15
15
- gamemonkey
16
+ - gml
16
17
- javascript (42tiny-js)
17
18
- javascript (duktape)
18
19
- jtc
@@ -39,57 +40,59 @@ scriptorium
39
40
- tcl (picol)
40
41
- wren
41
42
43
+ ### rank
44
+ | Language| Time| Relative Lua speed| Score|
45
+ | :-------| ---:| :----------------:| ----:|
46
+ | [ c/vc] ( https://www.visualstudio.com/ ) | 0.0741186 s.| ![ 100%] ( http://progressed.io/bar/100?title=x18 ) | 1808 pt|
47
+ | [ lua/luajit] ( https://github.com/LuaDist/luajit ) | 0.111428 s.| ![ 100%] ( http://progressed.io/bar/100?title=x12 ) | 1203 pt|
48
+ | [ c/libtcc] ( http://bellard.org/tcc/ ) | 0.151179 s.| ![ 100%] ( http://progressed.io/bar/100?title=x08 ) | 886 pt|
49
+ | [ pawn/asm] ( http://www.compuphase.com/pawn/pawn.htm ) | 0.38402 s.| ![ 100%] ( http://progressed.io/bar/100?title=x03 ) | 349 pt|
50
+ | [ pawn] ( http://www.compuphase.com/pawn/pawn.htm ) | 0.719387 s.| ![ 100%] ( http://progressed.io/bar/100 ) | 186 pt|
51
+ | [ neko/nekovm] ( https://github.com/HaxeFoundation/neko ) | 1.10385 s.| ![ 100%] ( http://progressed.io/bar/100 ) | 121 pt|
52
+ | [ lua] ( https://github.com/LuaDist/lua ) | 1.34052 s.| ![ 100%] ( http://progressed.io/bar/100 ) | 100 pt|
53
+ | [ ruby/tinyrb(ist)] ( https://github.com/sanchapereira/tinyrb-ist ) | 1.44126 s.| ![ 93.0103%] ( http://progressed.io/bar/93 ) | 93 pt|
54
+ | [ gamemonkey] ( http://www.gmscript.com/ ) | 1.69064 s.| ![ 79.2907%] ( http://progressed.io/bar/79 ) | 79 pt|
55
+ | [ as/angelscript-jit] ( https://github.com/BlindMindStudios/AngelScript-JIT-Compiler ) | 1.85891 s.| ![ 72.1132%] ( http://progressed.io/bar/72 ) | 72 pt|
56
+ | [ wren] ( https://github.com/munificent/wren ) | 1.99672 s.| ![ 67.1361%] ( http://progressed.io/bar/67 ) | 67 pt|
57
+ | [ lily] ( https://github.com/jesserayadkins/lily ) | 2.00502 s.| ![ 66.8582%] ( http://progressed.io/bar/66 ) | 66 pt|
58
+ | [ as/angelscript] ( http://www.angelcode.com/angelscript/ ) | 2.03945 s.| ![ 65.7295%] ( http://progressed.io/bar/65 ) | 65 pt|
59
+ | [ ruby/mruby] ( https://github.com/mruby/mruby ) | 2.09807 s.| ![ 63.893%] ( http://progressed.io/bar/63 ) | 63 pt|
60
+ | [ squirrel] ( http://squirrel-lang.org/ ) | 2.12571 s.| ![ 63.0622%] ( http://progressed.io/bar/63 ) | 63 pt|
61
+ | [ c/c4] ( https://github.com/rswier/c4 ) | 2.53838 s.| ![ 52.8101%] ( http://progressed.io/bar/52 ) | 52 pt|
62
+ | [ python/micropython] ( https://github.com/micropython/micropython ) | 2.84204 s.| ![ 47.1675%] ( http://progressed.io/bar/47 ) | 47 pt|
63
+ | [ dao] ( https://github.com/daokoder/dao ) | 2.87563 s.| ![ 46.6166%] ( http://progressed.io/bar/46 ) | 46 pt|
64
+ | [ quakec/gmqcc] ( https://github.com/graphitemaster/gmqcc ) | 3.06013 s.| ![ 43.806%] ( http://progressed.io/bar/43 ) | 43 pt|
65
+ | [ objectscript] ( https://github.com/unitpoint/objectscript ) | 3.10825 s.| ![ 43.1278%] ( http://progressed.io/bar/43 ) | 43 pt|
66
+ | [ lisp/minilisp] ( https://github.com/rui314/minilisp ) | 6.95091 s.| ![ 19.2855%] ( http://progressed.io/bar/19 ) | 19 pt|
67
+ | [ js/duktape] ( https://github.com/svaarala/duktape ) | 9.54355 s.| ![ 14.0463%] ( http://progressed.io/bar/14 ) | 14 pt|
68
+ | [ gml] ( https://github.com/graphitemaster/gml ) | 16.4427 s.| ![ 8.15268%] ( http://progressed.io/bar/8 ) | 8 pt|
69
+ | [ psl] ( https://github.com/Silica/PSL ) | 17.6445 s.| ![ 7.59738%] ( http://progressed.io/bar/7 ) | 7 pt|
70
+ | [ python/tinypy(panda)] ( https://github.com/dkasak/tinypy-panda ) | 21.7993 s.| ![ 6.14937%] ( http://progressed.io/bar/6 ) | 6 pt|
71
+ | [ scheme/s9] ( http://www.t3x.org/s9fes/ ) | 33.1601 s.| ![ 4.04257%] ( http://progressed.io/bar/4 ) | 4 pt|
72
+ | [ jx9] ( http://jx9.symisc.net/ ) | 43.5976 s.| ![ 3.07476%] ( http://progressed.io/bar/3 ) | 3 pt|
73
+ | [ jtc] ( https://github.com/progschj/jtc ) | 47.021 s.| ![ 2.8509%] ( http://progressed.io/bar/2 ) | 2 pt|
74
+ | [ scheme/tinyscheme] ( http://tinyscheme.sourceforge.net/home.html ) | 65.398 s.| ![ 2.04979%] ( http://progressed.io/bar/2 ) | 2 pt|
75
+ | [ lisp/paren] ( https://bitbucket.org/ktg/paren ) | 72.9008 s.| ![ 1.83883%] ( http://progressed.io/bar/1 ) | 1 pt|
76
+ | [ lisp/lispy90] ( http://howtowriteaprogram.blogspot.com.es/2010/11/lisp-interpreter-in-90-lines-of-c.html ) | 91.7667 s.| ![ 1.46079%] ( http://progressed.io/bar/1 ) | 1 pt|
77
+ | [ tcl/picol] ( http://wiki.tcl.tk/17893 ) | 151.527 s.| ![ 0.884674%] ( http://progressed.io/bar/0 ) | 0 pt|
78
+ | [ chaiscript] ( https://github.com/ChaiScript/ChaiScript ) | 175.038 s.| ![ 0.765845%] ( http://progressed.io/bar/0 ) | 0 pt|
79
+ | [ js/42tiny-js] ( https://github.com/ardi69/42tiny-js ) | 227.17 s.| ![ 0.590096%] ( http://progressed.io/bar/0 ) | 0 pt|
80
+
81
+ - AMD A10 3.8 GHz, 8 GiB, Windows 7 64bit.
82
+ - Compiled on VS2015 RC if possible, VS2013 elsewhere.
83
+
42
84
### language requirements
43
85
- must embed from C++.
44
86
- must compile on vs2015 (or vs2013 at least).
45
87
- must link statically.
46
88
- must not require (heavy) makefiles/cygwin/build-systems to build.
89
+ - must be self-contained (no LLVM).
47
90
- must use jit/optimizations if available.
48
91
- must compare fair to other languages. for example:
49
92
- must not use yield/coroutines on recursive fibonacci test.
50
93
- must disable threading if possible (not all languages are thread-safe)
51
94
- etc
52
95
53
- ### results
54
- | Language| Time| Relative Lua speed| Score|
55
- | :-------| ---:| :----------------:| ----:|
56
- | c/vc| 0.0655255 s.| ![ 100%] ( http://progressed.io/bar/100 ) | 2323 pt|
57
- | lua/luajit-2.0/src/luajit| 0.0906679 s.| ![ 100%] ( http://progressed.io/bar/100 ) | 1679 pt|
58
- | c/tcc-0.9.26/win32/tcc| 0.127398 s.| ![ 100%] ( http://progressed.io/bar/100 ) | 1195 pt|
59
- | pawn/pawn-asm| 0.460578 s.| ![ 100%] ( http://progressed.io/bar/100 ) | 330 pt|
60
- | pawn/pawn| 0.858627 s.| ![ 100%] ( http://progressed.io/bar/100 ) | 177 pt|
61
- | neko/neko| 1.3005 s.| ![ 100%] ( http://progressed.io/bar/100 ) | 117 pt|
62
- | lua| 1.52243 s.| ![ 100%] ( http://progressed.io/bar/100 ) | 100 pt|
63
- | tinyrb| 1.55396 s.| ![ 97.971%] ( http://progressed.io/bar/97 ) | 97 pt|
64
- | gamemonkey/bin/gme64| 1.71352 s.| ![ 88.8481%] ( http://progressed.io/bar/88 ) | 88 pt|
65
- | angelscript/as| 1.96192 s.| ![ 77.599%] ( http://progressed.io/bar/77 ) | 77 pt|
66
- | angelscript/asjit| 2.00607 s.| ![ 75.8912%] ( http://progressed.io/bar/75 ) | 75 pt|
67
- | lily/lily| 2.03696 s.| ![ 74.7403%] ( http://progressed.io/bar/74 ) | 74 pt|
68
- | wren/wren| 2.24041 s.| ![ 67.9532%] ( http://progressed.io/bar/67 ) | 67 pt|
69
- | ruby/mruby| 2.40104 s.| ![ 63.4071%] ( http://progressed.io/bar/63 ) | 63 pt|
70
- | c/c4/c4| 2.88247 s.| ![ 52.8169%] ( http://progressed.io/bar/52 ) | 52 pt|
71
- | dao/dao| 2.90203 s.| ![ 52.4609%] ( http://progressed.io/bar/52 ) | 52 pt|
72
- | squirrel/sq3| 3.1019 s.| ![ 49.0806%] ( http://progressed.io/bar/49 ) | 49 pt|
73
- | quakec/gmqcc/qcvm| 3.44478 s.| ![ 44.1953%] ( http://progressed.io/bar/44 ) | 44 pt|
74
- | python/mpython| 3.564 s.| ![ 42.7169%] ( http://progressed.io/bar/42 ) | 42 pt|
75
- | os/os| 3.7224 s.| ![ 40.8992%] ( http://progressed.io/bar/40 ) | 40 pt|
76
- | lisp/minilisp/minilisp| 7.4961 s.| ![ 20.3096%] ( http://progressed.io/bar/20 ) | 20 pt|
77
- | javascript/duktape/duktape| 9.21308 s.| ![ 16.5247%] ( http://progressed.io/bar/16 ) | 16 pt|
78
- | psl/psl| 19.4708 s.| ![ 7.81904%] ( http://progressed.io/bar/7 ) | 7 pt|
79
- | python/tinypy-panda/build/tinypy| 22.3401 s.| ![ 6.81479%] ( http://progressed.io/bar/6 ) | 6 pt|
80
- | s9| 36.9632 s.| ![ 4.11877%] ( http://progressed.io/bar/4 ) | 4 pt|
81
- | jx9/jx9| 41.3571 s.| ![ 3.68118%] ( http://progressed.io/bar/3 ) | 3 pt|
82
- | jtc/jtc| 49.5935 s.| ![ 3.06982%] ( http://progressed.io/bar/3 ) | 3 pt|
83
- | scheme| 72.6125 s.| ![ 2.09665%] ( http://progressed.io/bar/2 ) | 2 pt|
84
- | paren-1.9.6| 78.547 s.| ![ 1.93824%] ( http://progressed.io/bar/1 ) | 1 pt|
85
- | lisp/lispy90/lispy90| 101.345 s.| ![ 1.50223%] ( http://progressed.io/bar/1 ) | 1 pt|
86
- | tcl/picol/picol| 163.352 s.| ![ 0.931993%] ( http://progressed.io/bar/0 ) | 0 pt|
87
- | chaiscript/chai| 185.719 s.| ![ 0.819749%] ( http://progressed.io/bar/0 ) | 0 pt|
88
- | javascript/42tiny-js/42tinyjs| 232.703 s.| ![ 0.654237%] ( http://progressed.io/bar/0 ) | 0 pt|
89
-
90
- - AMD A10 3.8 GHz, 8 GiB, Windows 7 64bit.
91
- - Compiled on VS2015 RC if possible, VS2013 elsewhere.
92
-
93
96
### to add (soon)
94
97
- @todo {
95
98
- add exe size
0 commit comments