From ca3dda4080274a3306dd158994cca6fa3a136792 Mon Sep 17 00:00:00 2001 From: fennecdjay Date: Tue, 2 Jul 2019 23:17:19 +0200 Subject: [PATCH] :art: More benchmarks --- docs/Benchmarks.mdr | 8 ++++---- docs/assets/benchmark/binary-trees.dat | 3 +++ docs/assets/benchmark/binary-trees.png | Bin 0 -> 11627 bytes docs/assets/benchmark/binary_trees.dat | 3 --- docs/assets/benchmark/binary_trees.png | Bin 8091 -> 0 bytes docs/assets/benchmark/fib-recurs.dat | 3 +++ docs/assets/benchmark/fib-recurs.png | Bin 0 -> 9648 bytes docs/assets/benchmark/fib.dat | 3 +++ docs/assets/benchmark/fib.png | Bin 0 -> 9178 bytes docs/assets/benchmark/method-call.dat | 3 +++ docs/assets/benchmark/method-call.png | Bin 0 -> 10758 bytes ...inary_trees_gc.wren => binary-trees-gc.wren} | 0 .../{binary_trees.dart => binary-trees.dart} | 0 .../{binary_trees.gw => binary-trees.gw} | 0 .../{binary_trees.lua => binary-trees.lua} | 0 .../{binary_trees.py => binary-trees.py} | 0 .../{binary_trees.rb => binary-trees.rb} | 0 .../{binary_trees.wren => binary-trees.wren} | 0 tests/benchmark/fib.dart | 10 ++++++++++ tests/benchmark/fib.gw | 8 ++++++++ tests/benchmark/fib.lua | 8 ++++++++ tests/benchmark/fib.py | 8 ++++++++ tests/benchmark/fib.rb | 11 +++++++++++ tests/benchmark/fib.wren | 10 ++++++++++ .../{method_call.ck => method-call.ck} | 0 .../{method_call.dart => method-call.dart} | 0 .../{method_call.gw => method-call.gw} | 0 .../{method_call.lua => method-call.lua} | 0 .../{method_call.py => method-call.py} | 0 .../{method_call.rb => method-call.rb} | 0 .../{method_call.wren => method-call.wren} | 0 31 files changed, 71 insertions(+), 7 deletions(-) create mode 100644 docs/assets/benchmark/binary-trees.dat create mode 100644 docs/assets/benchmark/binary-trees.png delete mode 100644 docs/assets/benchmark/binary_trees.dat delete mode 100644 docs/assets/benchmark/binary_trees.png create mode 100644 docs/assets/benchmark/fib-recurs.dat create mode 100644 docs/assets/benchmark/fib-recurs.png create mode 100644 docs/assets/benchmark/fib.dat create mode 100644 docs/assets/benchmark/fib.png create mode 100644 docs/assets/benchmark/method-call.dat create mode 100644 docs/assets/benchmark/method-call.png rename tests/benchmark/{binary_trees_gc.wren => binary-trees-gc.wren} (100%) rename tests/benchmark/{binary_trees.dart => binary-trees.dart} (100%) rename tests/benchmark/{binary_trees.gw => binary-trees.gw} (100%) rename tests/benchmark/{binary_trees.lua => binary-trees.lua} (100%) rename tests/benchmark/{binary_trees.py => binary-trees.py} (100%) rename tests/benchmark/{binary_trees.rb => binary-trees.rb} (100%) rename tests/benchmark/{binary_trees.wren => binary-trees.wren} (100%) create mode 100644 tests/benchmark/fib.dart create mode 100644 tests/benchmark/fib.gw create mode 100644 tests/benchmark/fib.lua create mode 100644 tests/benchmark/fib.py create mode 100644 tests/benchmark/fib.rb create mode 100644 tests/benchmark/fib.wren rename tests/benchmark/{method_call.ck => method-call.ck} (100%) rename tests/benchmark/{method_call.dart => method-call.dart} (100%) rename tests/benchmark/{method_call.gw => method-call.gw} (100%) rename tests/benchmark/{method_call.lua => method-call.lua} (100%) rename tests/benchmark/{method_call.py => method-call.py} (100%) rename tests/benchmark/{method_call.rb => method-call.rb} (100%) rename tests/benchmark/{method_call.wren => method-call.wren} (100%) diff --git a/docs/Benchmarks.mdr b/docs/Benchmarks.mdr index 274ce59d..0f81e941 100644 --- a/docs/Benchmarks.mdr +++ b/docs/Benchmarks.mdr @@ -62,9 +62,9 @@ if (!exists("test_dir")) dat_name = sprintf("docs/assets/benchmark/%s.dat", bench) stats dat_name using 0:2 noout -max = ceil(STATS_max_y+2) +max = STATS_max_y+(0.1*STATS_max_y) -#set title bench +set title bench set output sprintf("docs/assets/benchmark/%s.png", bench) set xrange [-0.5:((ceil(STATS_max_x))+0.5)] set yrange [0:max] @@ -76,8 +76,8 @@ set ytics nomirror set style fill transparent solid 0.25 # partial transparency set style fill noborder # no separate top/bottom lines -plot dat_name using 0:2:($3/100.):xtic(2) with boxerrorbar lc "blue" notitle, \ - '' using 0:(max-0.5):1 with labels +plot dat_name using 0:2:($2*($3/100.0)):xtic(2) with boxerrorbar lc "blue" notitle, \ + '' using 0:(max-(0.05*max)):1 with labels @``` diff --git a/docs/assets/benchmark/binary-trees.dat b/docs/assets/benchmark/binary-trees.dat new file mode 100644 index 00000000..2d13d935 --- /dev/null +++ b/docs/assets/benchmark/binary-trees.dat @@ -0,0 +1,3 @@ +gwion 0.188183 0.30 +wren 0.237885 0.33 +lua 0.32730 2.38 diff --git a/docs/assets/benchmark/binary-trees.png b/docs/assets/benchmark/binary-trees.png new file mode 100644 index 0000000000000000000000000000000000000000..8bf59bcaef00ae11acacdfba4352f01308442c5a GIT binary patch literal 11627 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 b-!cA0&AVEg5qLoe{Gg=o+|Ipe^yEJPgD%S} literal 0 HcmV?d00001 diff --git a/docs/assets/benchmark/binary_trees.dat b/docs/assets/benchmark/binary_trees.dat deleted file mode 100644 index a8dc8e81..00000000 --- a/docs/assets/benchmark/binary_trees.dat +++ /dev/null @@ -1,3 +0,0 @@ -gwion 0.244813625 0.33 -wren 0.358684268 1.43 -lua5.3 0.621848489 5.69 diff --git a/docs/assets/benchmark/binary_trees.png b/docs/assets/benchmark/binary_trees.png deleted file mode 100644 index ea48d1cc65de9805df5643b55b0f569ce1c4e75e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8091 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 literal 0 HcmV?d00001 diff --git a/docs/assets/benchmark/fib.dat b/docs/assets/benchmark/fib.dat new file mode 100644 index 00000000..5f73c7cd --- /dev/null +++ b/docs/assets/benchmark/fib.dat @@ -0,0 +1,3 @@ +gwion 0.086354 0.61 +wren 0.21780 0.55 +lua 0.219805 0.43 diff --git a/docs/assets/benchmark/fib.png b/docs/assets/benchmark/fib.png new file mode 100644 index 0000000000000000000000000000000000000000..8bbc056ba34d4d939e58f89e012e6f79f41d5de0 GIT binary patch literal 9178 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 literal 0 HcmV?d00001 diff --git a/docs/assets/benchmark/method-call.dat b/docs/assets/benchmark/method-call.dat new file mode 100644 index 00000000..083d19cb --- /dev/null +++ b/docs/assets/benchmark/method-call.dat @@ -0,0 +1,3 @@ +gwion 0.091682 0.31 +wren 0.107952 0.40 +lua 0.25460 1.10 diff --git a/docs/assets/benchmark/method-call.png b/docs/assets/benchmark/method-call.png new file mode 100644 index 0000000000000000000000000000000000000000..d23c6ad5990853509a686b2502c3321cf435ac64 GIT binary patch literal 10758 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 literal 0 HcmV?d00001 diff --git a/tests/benchmark/binary_trees_gc.wren b/tests/benchmark/binary-trees-gc.wren similarity index 100% rename from tests/benchmark/binary_trees_gc.wren rename to tests/benchmark/binary-trees-gc.wren diff --git a/tests/benchmark/binary_trees.dart b/tests/benchmark/binary-trees.dart similarity index 100% rename from tests/benchmark/binary_trees.dart rename to tests/benchmark/binary-trees.dart diff --git a/tests/benchmark/binary_trees.gw b/tests/benchmark/binary-trees.gw similarity index 100% rename from tests/benchmark/binary_trees.gw rename to tests/benchmark/binary-trees.gw diff --git a/tests/benchmark/binary_trees.lua b/tests/benchmark/binary-trees.lua similarity index 100% rename from tests/benchmark/binary_trees.lua rename to tests/benchmark/binary-trees.lua diff --git a/tests/benchmark/binary_trees.py b/tests/benchmark/binary-trees.py similarity index 100% rename from tests/benchmark/binary_trees.py rename to tests/benchmark/binary-trees.py diff --git a/tests/benchmark/binary_trees.rb b/tests/benchmark/binary-trees.rb similarity index 100% rename from tests/benchmark/binary_trees.rb rename to tests/benchmark/binary-trees.rb diff --git a/tests/benchmark/binary_trees.wren b/tests/benchmark/binary-trees.wren similarity index 100% rename from tests/benchmark/binary_trees.wren rename to tests/benchmark/binary-trees.wren diff --git a/tests/benchmark/fib.dart b/tests/benchmark/fib.dart new file mode 100644 index 00000000..3ffa670b --- /dev/null +++ b/tests/benchmark/fib.dart @@ -0,0 +1,10 @@ +fib(n) { + if (n < 2) return n; + return fib(n - 1) + fib(n - 2); +} + +main() { + for (var i = 0; i < 5; i++) { + print(fib(28)); + } +} diff --git a/tests/benchmark/fib.gw b/tests/benchmark/fib.gw new file mode 100644 index 00000000..9c78eb29 --- /dev/null +++ b/tests/benchmark/fib.gw @@ -0,0 +1,8 @@ +class Fib { + fun static int get(int n) { + if (n < 2) return n; + return get(n - 1) + get(n - 2); + } +} +repeat(5) + <<>>; diff --git a/tests/benchmark/fib.lua b/tests/benchmark/fib.lua new file mode 100644 index 00000000..a4f06e7c --- /dev/null +++ b/tests/benchmark/fib.lua @@ -0,0 +1,8 @@ +function fib(n) + if n < 2 then return n end + return fib(n - 2) + fib(n - 1) +end + +for i = 1, 5 do + io.write(fib(28) .. "\n") +end diff --git a/tests/benchmark/fib.py b/tests/benchmark/fib.py new file mode 100644 index 00000000..c2f3ba4d --- /dev/null +++ b/tests/benchmark/fib.py @@ -0,0 +1,8 @@ +from __future__ import print_function + +def fib(n): + if n < 2: return n + return fib(n - 1) + fib(n - 2) + +for i in range(0, 5): + print(fib(28)) diff --git a/tests/benchmark/fib.rb b/tests/benchmark/fib.rb new file mode 100644 index 00000000..c496913b --- /dev/null +++ b/tests/benchmark/fib.rb @@ -0,0 +1,11 @@ +def fib(n) + if n < 2 then + n + else + fib(n - 1) + fib(n - 2) + end +end + +for i in 0...5 + puts fib(28) +end diff --git a/tests/benchmark/fib.wren b/tests/benchmark/fib.wren new file mode 100644 index 00000000..441a7e69 --- /dev/null +++ b/tests/benchmark/fib.wren @@ -0,0 +1,10 @@ +class Fib { + static get(n) { + if (n < 2) return n + return get(n - 1) + get(n - 2) + } +} + +for (i in 1..5) { + System.print(Fib.get(28)) +} diff --git a/tests/benchmark/method_call.ck b/tests/benchmark/method-call.ck similarity index 100% rename from tests/benchmark/method_call.ck rename to tests/benchmark/method-call.ck diff --git a/tests/benchmark/method_call.dart b/tests/benchmark/method-call.dart similarity index 100% rename from tests/benchmark/method_call.dart rename to tests/benchmark/method-call.dart diff --git a/tests/benchmark/method_call.gw b/tests/benchmark/method-call.gw similarity index 100% rename from tests/benchmark/method_call.gw rename to tests/benchmark/method-call.gw diff --git a/tests/benchmark/method_call.lua b/tests/benchmark/method-call.lua similarity index 100% rename from tests/benchmark/method_call.lua rename to tests/benchmark/method-call.lua diff --git a/tests/benchmark/method_call.py b/tests/benchmark/method-call.py similarity index 100% rename from tests/benchmark/method_call.py rename to tests/benchmark/method-call.py diff --git a/tests/benchmark/method_call.rb b/tests/benchmark/method-call.rb similarity index 100% rename from tests/benchmark/method_call.rb rename to tests/benchmark/method-call.rb diff --git a/tests/benchmark/method_call.wren b/tests/benchmark/method-call.wren similarity index 100% rename from tests/benchmark/method_call.wren rename to tests/benchmark/method-call.wren -- 2.43.0