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 39.2 36.0 3.1 6.8
flanders 200 44 dash 68.9 68.8 0.0 6.2
flanders 200 44 osh_eval.opt.stripped 194.7 148.0 46.6 98.9
flanders 200 44 bash 230.7 223.3 7.4 6.2
lisa 200 44 python 12.0 11.9 0.0 6.9
lisa 200 44 dash 22.3 22.2 0.0 6.3
lisa 200 44 osh_eval.opt.stripped 71.7 55.3 16.3 98.8
lisa 200 44 bash 77.3 77.2 0.0 6.3

word_freq (associative arrays / hash tables)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 10 configure python 45.0 23.8 23.4 7.0
flanders 10 configure osh_eval.opt.stripped 159.7 114.6 46.3 63.3
flanders 10 configure bash 269.6 239.9 35.4 6.2
lisa 10 configure python 18.5 14.9 4.3 6.9
lisa 10 configure osh_eval.opt.stripped 64.5 38.0 27.1 63.4
lisa 10 configure bash 92.1 91.0 3.0 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 47.9 28.7 19.1 10.4
flanders ls bash 43.3 33.5 9.6 6.3
flanders ls-short bash 20.4 1.4 16.3 6.3
flanders ls-short osh_eval.opt.stripped 19.2 12.9 6.0 6.1
flanders mypy osh_eval.opt.stripped 57.2 26.7 30.4 12.7
flanders mypy bash 53.0 40.9 12.0 6.3
lisa ls bash 15.4 12.3 2.8 6.4
lisa ls osh_eval.opt.stripped 19.0 15.0 3.8 10.2
lisa ls-short osh_eval.opt.stripped 5.1 2.3 2.7 6.3
lisa ls-short bash 6.7 4.7 0.0 6.4
lisa mypy bash 18.4 18.1 0.0 6.3
lisa mypy osh_eval.opt.stripped 23.1 19.9 2.9 12.7

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 47.3 36.0 11.1 6.7
flanders bytes 200 osh_eval.opt.stripped 284.0 223.4 60.5 149.0
flanders bytes 200 bash 648.0 647.9 0.0 6.1
flanders int 200 python 86.1 79.1 6.9 6.8
flanders int 200 osh_eval.opt.stripped 302.3 233.1 69.1 149.8
flanders int 200 bash 689.6 678.1 11.4 6.2
lisa bytes 200 python 14.2 13.5 0.6 7.0
lisa bytes 200 osh_eval.opt.stripped 122.8 86.1 35.2 148.5
lisa bytes 200 bash 244.4 240.7 3.5 6.4
lisa int 200 python 31.8 27.9 3.9 7.0
lisa int 200 osh_eval.opt.stripped 122.4 98.4 23.9 134.1
lisa int 200 bash 240.5 232.5 7.2 6.3

Interpreter and Host Details

shell label shell id
bash bash-d685a43c
dash dash-2887d9e6
oil-native osh_eval.opt.stripped-d335486a
python python-e4b9f5ce
host label host id
flanders flanders-1f35df1a
lisa lisa-1f35df1a

Details

host name task name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders bubble_sort bytes 200 python 47.3 36.0 11.1 6.7
flanders bubble_sort bytes 200 osh_eval.opt.stripped 284.0 223.4 60.5 149.0
flanders bubble_sort bytes 200 bash 648.0 647.9 0.0 6.1
flanders bubble_sort int 200 python 86.1 79.1 6.9 6.8
flanders bubble_sort int 200 osh_eval.opt.stripped 302.3 233.1 69.1 149.8
flanders bubble_sort int 200 bash 689.6 678.1 11.4 6.2
flanders fib 200 44 python 39.2 36.0 3.1 6.8
flanders fib 200 44 dash 68.9 68.8 0.0 6.2
flanders fib 200 44 osh_eval.opt.stripped 194.7 148.0 46.6 98.9
flanders fib 200 44 bash 230.7 223.3 7.4 6.2
flanders palindrome bytes _ python 41.2 26.4 14.7 7.1
flanders palindrome bytes _ osh_eval.opt.stripped 525.0 380.9 144.0 231.6
flanders palindrome bytes _ bash 470.6 436.3 32.1 6.3
flanders palindrome unicode _ python 54.7 54.7 0.0 7.0
flanders palindrome unicode _ osh_eval.opt.stripped 528.3 418.6 109.6 231.6
flanders palindrome unicode _ bash 489.2 472.3 16.9 6.3
flanders parse_help ls _ osh_eval.opt.stripped 47.9 28.7 19.1 10.4
flanders parse_help ls _ bash 43.3 33.5 9.6 6.3
flanders parse_help ls-short _ bash 20.4 1.4 16.3 6.3
flanders parse_help ls-short _ osh_eval.opt.stripped 19.2 12.9 6.0 6.1
flanders parse_help mypy _ osh_eval.opt.stripped 57.2 26.7 30.4 12.7
flanders parse_help mypy _ bash 53.0 40.9 12.0 6.3
flanders word_freq 10 configure python 45.0 23.8 23.4 7.0
flanders word_freq 10 configure osh_eval.opt.stripped 159.7 114.6 46.3 63.3
flanders word_freq 10 configure bash 269.6 239.9 35.4 6.2
lisa bubble_sort bytes 200 python 14.2 13.5 0.6 7.0
lisa bubble_sort bytes 200 osh_eval.opt.stripped 122.8 86.1 35.2 148.5
lisa bubble_sort bytes 200 bash 244.4 240.7 3.5 6.4
lisa bubble_sort int 200 python 31.8 27.9 3.9 7.0
lisa bubble_sort int 200 osh_eval.opt.stripped 122.4 98.4 23.9 134.1
lisa bubble_sort int 200 bash 240.5 232.5 7.2 6.3
lisa fib 200 44 python 12.0 11.9 0.0 6.9
lisa fib 200 44 dash 22.3 22.2 0.0 6.3
lisa fib 200 44 osh_eval.opt.stripped 71.7 55.3 16.3 98.8
lisa fib 200 44 bash 77.3 77.2 0.0 6.3
lisa palindrome bytes _ python 15.0 11.3 3.6 7.1
lisa palindrome bytes _ bash 159.3 148.2 11.0 6.2
lisa palindrome bytes _ osh_eval.opt.stripped 194.5 153.9 40.5 231.5
lisa palindrome unicode _ python 15.4 15.3 0.0 7.2
lisa palindrome unicode _ osh_eval.opt.stripped 189.3 148.9 40.2 231.5
lisa palindrome unicode _ bash 178.0 169.7 8.3 6.2
lisa parse_help ls _ bash 15.4 12.3 2.8 6.4
lisa parse_help ls _ osh_eval.opt.stripped 19.0 15.0 3.8 10.2
lisa parse_help ls-short _ osh_eval.opt.stripped 5.1 2.3 2.7 6.3
lisa parse_help ls-short _ bash 6.7 4.7 0.0 6.4
lisa parse_help mypy _ bash 18.4 18.1 0.0 6.3
lisa parse_help mypy _ osh_eval.opt.stripped 23.1 19.9 2.9 12.7
lisa word_freq 10 configure python 18.5 14.9 4.3 6.9
lisa word_freq 10 configure osh_eval.opt.stripped 64.5 38.0 27.1 63.4
lisa word_freq 10 configure bash 92.1 91.0 3.0 6.3