diff --git a/myhdl/test/benchmark/jitrun.sh b/myhdl/test/benchmark/jitrun.sh new file mode 100644 index 00000000..5a44625c --- /dev/null +++ b/myhdl/test/benchmark/jitrun.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +echo > jitstats.dat + +tests=" +longdiv_9 +longdiv_10 +longdiv_11 +longdiv_12 +longdiv_13 +longdiv_14 +longdiv_15 +longdiv_16 +longdiv_17 +longdiv_18 +" + +for test in $tests +do +echo Test: $test >> jitstats.dat +echo ===== >> jitstats.dat + +echo python >> jitstats.dat +echo ------ >> jitstats.dat +/usr/bin/time -o jitstats.dat -a -p python test_$test.py > ${test}_python.out +echo >> jitstats.dat + +echo pypy >> jitstats.dat +echo ---- >> jitstats.dat +/usr/bin/time -o jitstats.dat -a -p pypy test_$test.py > ${test}_pypy.out +echo >> jitstats.dat + +done + + + diff --git a/myhdl/test/benchmark/jitstats.dat b/myhdl/test/benchmark/jitstats.dat new file mode 100644 index 00000000..2ac7baae --- /dev/null +++ b/myhdl/test/benchmark/jitstats.dat @@ -0,0 +1,141 @@ + +Test: longdiv_9 +===== +python +------ +real 1.58 +user 1.55 +sys 0.02 + +pypy +---- +real 2.30 +user 2.26 +sys 0.04 + +Test: longdiv_10 +===== +python +------ +real 3.10 +user 3.09 +sys 0.00 + +pypy +---- +real 2.46 +user 2.43 +sys 0.02 + +Test: longdiv_11 +===== +python +------ +real 5.93 +user 5.91 +sys 0.02 + +pypy +---- +real 2.85 +user 2.81 +sys 0.04 + +Test: longdiv_12 +===== +python +------ +real 11.66 +user 11.64 +sys 0.01 + +pypy +---- +real 3.72 +user 3.68 +sys 0.03 + +Test: longdiv_13 +===== +python +------ +real 23.50 +user 23.48 +sys 0.02 + +pypy +---- +real 5.13 +user 5.10 +sys 0.04 + +Test: longdiv_14 +===== +python +------ +real 46.86 +user 46.82 +sys 0.02 + +pypy +---- +real 7.79 +user 7.76 +sys 0.03 + +Test: longdiv_15 +===== +python +------ +real 92.25 +user 92.21 +sys 0.02 + +pypy +---- +real 13.16 +user 13.10 +sys 0.05 + +Test: longdiv_16 +===== +python +------ +real 186.50 +user 186.43 +sys 0.02 + +pypy +---- +real 23.69 +user 23.62 +sys 0.06 + +Test: longdiv_17 +===== +python +------ +real 373.17 +user 372.91 +sys 0.16 + +pypy +---- +real 45.03 +user 44.96 +sys 0.05 + +Test: longdiv_18 +===== +python +------ +real 749.29 +user 748.31 +sys 0.78 + +pypy +---- +real 86.17 +user 86.09 +sys 0.04 + diff --git a/myhdl/test/benchmark/test_longdiv.py b/myhdl/test/benchmark/test_longdiv.py index e5d02228..471d709c 100644 --- a/myhdl/test/benchmark/test_longdiv.py +++ b/myhdl/test/benchmark/test_longdiv.py @@ -4,7 +4,7 @@ from glibc_random import glibc_random from long_divider import long_divider -def test_longdiv(): +def test_longdiv(nrvectors=2**18): quotient = Signal(intbv(0)[22:]) ready = Signal(bool()) dividend = Signal(intbv(0)[38:]) @@ -50,7 +50,7 @@ def test_longdiv(): start.next = 0 yield clock.negedge random_word[:] = 94 - for i in range(2**18): + for i in range(nrvectors): yield clock.negedge random_word[:] = glibc_random(random_word) p[:] = random_word[16:] diff --git a/myhdl/test/benchmark/test_longdiv_10.py b/myhdl/test/benchmark/test_longdiv_10.py new file mode 100644 index 00000000..94e01b64 --- /dev/null +++ b/myhdl/test/benchmark/test_longdiv_10.py @@ -0,0 +1,8 @@ +from myhdl import * + +from test_longdiv import test_longdiv + +if __name__ == '__main__': + sim = Simulation(test_longdiv(nrvectors=2**10)) + sim.run() + diff --git a/myhdl/test/benchmark/test_longdiv_11.py b/myhdl/test/benchmark/test_longdiv_11.py new file mode 100644 index 00000000..ae7ee67a --- /dev/null +++ b/myhdl/test/benchmark/test_longdiv_11.py @@ -0,0 +1,8 @@ +from myhdl import * + +from test_longdiv import test_longdiv + +if __name__ == '__main__': + sim = Simulation(test_longdiv(nrvectors=2**11)) + sim.run() + diff --git a/myhdl/test/benchmark/test_longdiv_12.py b/myhdl/test/benchmark/test_longdiv_12.py new file mode 100644 index 00000000..614b42ea --- /dev/null +++ b/myhdl/test/benchmark/test_longdiv_12.py @@ -0,0 +1,8 @@ +from myhdl import * + +from test_longdiv import test_longdiv + +if __name__ == '__main__': + sim = Simulation(test_longdiv(nrvectors=2**12)) + sim.run() + diff --git a/myhdl/test/benchmark/test_longdiv_13.py b/myhdl/test/benchmark/test_longdiv_13.py new file mode 100644 index 00000000..7505dbf8 --- /dev/null +++ b/myhdl/test/benchmark/test_longdiv_13.py @@ -0,0 +1,8 @@ +from myhdl import * + +from test_longdiv import test_longdiv + +if __name__ == '__main__': + sim = Simulation(test_longdiv(nrvectors=2**13)) + sim.run() + diff --git a/myhdl/test/benchmark/test_longdiv_14.py b/myhdl/test/benchmark/test_longdiv_14.py new file mode 100644 index 00000000..b7ed964a --- /dev/null +++ b/myhdl/test/benchmark/test_longdiv_14.py @@ -0,0 +1,8 @@ +from myhdl import * + +from test_longdiv import test_longdiv + +if __name__ == '__main__': + sim = Simulation(test_longdiv(nrvectors=2**14)) + sim.run() + diff --git a/myhdl/test/benchmark/test_longdiv_15.py b/myhdl/test/benchmark/test_longdiv_15.py new file mode 100644 index 00000000..256545c5 --- /dev/null +++ b/myhdl/test/benchmark/test_longdiv_15.py @@ -0,0 +1,8 @@ +from myhdl import * + +from test_longdiv import test_longdiv + +if __name__ == '__main__': + sim = Simulation(test_longdiv(nrvectors=2**15)) + sim.run() + diff --git a/myhdl/test/benchmark/test_longdiv_16.py b/myhdl/test/benchmark/test_longdiv_16.py new file mode 100644 index 00000000..e5369513 --- /dev/null +++ b/myhdl/test/benchmark/test_longdiv_16.py @@ -0,0 +1,8 @@ +from myhdl import * + +from test_longdiv import test_longdiv + +if __name__ == '__main__': + sim = Simulation(test_longdiv(nrvectors=2**16)) + sim.run() + diff --git a/myhdl/test/benchmark/test_longdiv_17.py b/myhdl/test/benchmark/test_longdiv_17.py new file mode 100644 index 00000000..3e428e5f --- /dev/null +++ b/myhdl/test/benchmark/test_longdiv_17.py @@ -0,0 +1,8 @@ +from myhdl import * + +from test_longdiv import test_longdiv + +if __name__ == '__main__': + sim = Simulation(test_longdiv(nrvectors=2**17)) + sim.run() + diff --git a/myhdl/test/benchmark/test_longdiv_18.py b/myhdl/test/benchmark/test_longdiv_18.py new file mode 100644 index 00000000..efc36183 --- /dev/null +++ b/myhdl/test/benchmark/test_longdiv_18.py @@ -0,0 +1,8 @@ +from myhdl import * + +from test_longdiv import test_longdiv + +if __name__ == '__main__': + sim = Simulation(test_longdiv(nrvectors=2**18)) + sim.run() + diff --git a/myhdl/test/benchmark/test_longdiv_9.py b/myhdl/test/benchmark/test_longdiv_9.py new file mode 100644 index 00000000..e479bab5 --- /dev/null +++ b/myhdl/test/benchmark/test_longdiv_9.py @@ -0,0 +1,8 @@ +from myhdl import * + +from test_longdiv import test_longdiv + +if __name__ == '__main__': + sim = Simulation(test_longdiv(nrvectors=2**9)) + sim.run() +