OSH Compute Performance

Running time and memory usage of programs that test data structures (as opposed to I/O).

Memory usage is measured in MB (powers of 10), not MiB (powers of 2).

Source code: oil/benchmarks/compute

fibonacci (integers)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 200 44 python 38.1 30.6 7.4 6.8
flanders 200 44 dash 77.7 77.6 0.0 6.2
flanders 200 44 osh_eval.opt.stripped 168.6 113.6 55.0 71.2
flanders 200 44 bash 260.9 250.7 10.2 6.3
lisa 200 44 python 13.6 13.3 0.0 6.9
lisa 200 44 dash 28.5 28.3 0.0 6.3
lisa 200 44 osh_eval.opt.stripped 61.9 42.6 19.3 71.1
lisa 200 44 bash 76.6 76.4 0.0 6.2

word_freq (associative arrays / hash tables)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 10 configure python 46.6 40.6 8.3 7.0
flanders 10 configure osh_eval.opt.stripped 151.4 110.6 43.3 46.0
flanders 10 configure bash 291.8 270.9 26.7 6.3
lisa 10 configure python 15.1 15.8 0.0 7.0
lisa 10 configure osh_eval.opt.stripped 57.4 45.9 12.2 46.1
lisa 10 configure bash 106.6 100.4 7.7 6.3

parse_help (strings, real code)

host name arg1 runtime elapsed ms user ms sys ms max rss MB
flanders ls osh_eval.opt.stripped 49.3 31.8 17.2 9.1
flanders ls bash 46.1 39.6 6.2 6.2
flanders ls-short bash 19.6 9.7 9.8 6.2
flanders ls-short osh_eval.opt.stripped 18.5 12.1 6.0 6.2
flanders mypy bash 57.0 42.3 14.4 6.2
flanders mypy osh_eval.opt.stripped 57.8 46.0 11.5 11.0
lisa ls bash 16.4 9.1 6.8 6.4
lisa ls osh_eval.opt.stripped 17.6 17.4 0.0 9.0
lisa ls-short bash 7.7 5.3 0.0 6.2
lisa ls-short osh_eval.opt.stripped 5.9 5.6 0.0 6.4
lisa mypy osh_eval.opt.stripped 22.7 12.0 10.6 10.9
lisa mypy bash 18.9 17.0 1.4 6.3

bubble_sort (array of integers, arrays of strings)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders bytes 200 python 46.0 23.0 23.0 6.8
flanders bytes 200 osh_eval.opt.stripped 220.2 172.4 47.7 75.5
flanders bytes 200 bash 754.3 744.5 9.8 6.3
flanders int 200 python 78.3 64.7 13.5 6.8
flanders int 200 osh_eval.opt.stripped 203.1 174.0 29.0 59.5
flanders int 200 bash 808.4 807.2 1.1 6.2
lisa bytes 200 python 19.0 12.0 6.9 7.0
lisa bytes 200 osh_eval.opt.stripped 105.9 89.3 16.0 80.9
lisa bytes 200 bash 286.6 285.9 0.6 6.4
lisa int 200 python 36.5 36.3 0.0 6.9
lisa int 200 osh_eval.opt.stripped 106.5 98.5 7.9 64.6
lisa int 200 bash 298.3 293.6 1.8 6.2

Interpreter and Host Details

shell label shell id
bash bash-d685a43c
dash dash-2887d9e6
oil-native osh_eval.opt.stripped-81acfae2
python python-e4b9f5ce
host label host id
flanders flanders-889e300d
lisa lisa-6c96a848

Details

host name task name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders bubble_sort bytes 200 python 46.0 23.0 23.0 6.8
flanders bubble_sort bytes 200 osh_eval.opt.stripped 220.2 172.4 47.7 75.5
flanders bubble_sort bytes 200 bash 754.3 744.5 9.8 6.3
flanders bubble_sort int 200 python 78.3 64.7 13.5 6.8
flanders bubble_sort int 200 osh_eval.opt.stripped 203.1 174.0 29.0 59.5
flanders bubble_sort int 200 bash 808.4 807.2 1.1 6.2
flanders fib 200 44 python 38.1 30.6 7.4 6.8
flanders fib 200 44 dash 77.7 77.6 0.0 6.2
flanders fib 200 44 osh_eval.opt.stripped 168.6 113.6 55.0 71.2
flanders fib 200 44 bash 260.9 250.7 10.2 6.3
flanders palindrome bytes _ python 41.8 40.5 1.2 7.1
flanders palindrome bytes _ osh_eval.opt.stripped 428.7 296.5 132.1 180.3
flanders palindrome bytes _ bash 464.7 449.2 15.4 6.3
flanders palindrome unicode _ python 51.7 45.0 6.6 7.1
flanders palindrome unicode _ osh_eval.opt.stripped 423.0 301.8 121.1 180.3
flanders palindrome unicode _ bash 509.7 493.6 16.0 6.3
flanders parse_help ls _ osh_eval.opt.stripped 49.3 31.8 17.2 9.1
flanders parse_help ls _ bash 46.1 39.6 6.2 6.2
flanders parse_help ls-short _ bash 19.6 9.7 9.8 6.2
flanders parse_help ls-short _ osh_eval.opt.stripped 18.5 12.1 6.0 6.2
flanders parse_help mypy _ bash 57.0 42.3 14.4 6.2
flanders parse_help mypy _ osh_eval.opt.stripped 57.8 46.0 11.5 11.0
flanders word_freq 10 configure python 46.6 40.6 8.3 7.0
flanders word_freq 10 configure osh_eval.opt.stripped 151.4 110.6 43.3 46.0
flanders word_freq 10 configure bash 291.8 270.9 26.7 6.3
lisa bubble_sort bytes 200 python 19.0 12.0 6.9 7.0
lisa bubble_sort bytes 200 osh_eval.opt.stripped 105.9 89.3 16.0 80.9
lisa bubble_sort bytes 200 bash 286.6 285.9 0.6 6.4
lisa bubble_sort int 200 python 36.5 36.3 0.0 6.9
lisa bubble_sort int 200 osh_eval.opt.stripped 106.5 98.5 7.9 64.6
lisa bubble_sort int 200 bash 298.3 293.6 1.8 6.2
lisa fib 200 44 python 13.6 13.3 0.0 6.9
lisa fib 200 44 dash 28.5 28.3 0.0 6.3
lisa fib 200 44 osh_eval.opt.stripped 61.9 42.6 19.3 71.1
lisa fib 200 44 bash 76.6 76.4 0.0 6.2
lisa palindrome bytes _ python 15.9 15.3 0.4 7.0
lisa palindrome bytes _ osh_eval.opt.stripped 168.7 121.4 47.1 180.3
lisa palindrome bytes _ bash 181.9 181.8 0.0 6.2
lisa palindrome unicode _ python 20.8 17.7 2.9 7.1
lisa palindrome unicode _ osh_eval.opt.stripped 167.6 95.6 71.7 180.2
lisa palindrome unicode _ bash 191.7 175.6 12.0 6.3
lisa parse_help ls _ bash 16.4 9.1 6.8 6.4
lisa parse_help ls _ osh_eval.opt.stripped 17.6 17.4 0.0 9.0
lisa parse_help ls-short _ bash 7.7 5.3 0.0 6.2
lisa parse_help ls-short _ osh_eval.opt.stripped 5.9 5.6 0.0 6.4
lisa parse_help mypy _ osh_eval.opt.stripped 22.7 12.0 10.6 10.9
lisa parse_help mypy _ bash 18.9 17.0 1.4 6.3
lisa word_freq 10 configure python 15.1 15.8 0.0 7.0
lisa word_freq 10 configure osh_eval.opt.stripped 57.4 45.9 12.2 46.1
lisa word_freq 10 configure bash 106.6 100.4 7.7 6.3