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 40.6 22.3 18.0 6.8
flanders 200 44 dash 81.6 75.9 5.6 6.2
flanders 200 44 osh_eval.opt.stripped 254.3 194.5 59.6 98.8
flanders 200 44 bash 308.5 296.8 10.4 6.1
lisa 200 44 python 13.2 12.7 0.5 7.0
lisa 200 44 dash 27.8 27.6 0.0 6.4
lisa 200 44 osh_eval.opt.stripped 89.7 55.3 34.2 98.7
lisa 200 44 bash 93.7 90.2 3.2 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 49.6 49.2 2.9 7.0
flanders 10 configure osh_eval.opt.stripped 213.2 136.4 78.8 63.3
flanders 10 configure bash 342.1 325.1 23.0 6.1
lisa 10 configure python 19.7 20.4 0.0 7.1
lisa 10 configure osh_eval.opt.stripped 82.7 64.6 18.7 63.3
lisa 10 configure bash 113.9 103.9 12.1 6.2

parse_help (strings, real code)

host name arg1 runtime elapsed ms user ms sys ms max rss MB
flanders ls bash 50.0 38.3 11.5 6.1
flanders ls osh_eval.opt.stripped 56.0 42.8 12.9 10.3
flanders ls-short bash 14.6 6.3 8.1 6.1
flanders ls-short osh_eval.opt.stripped 20.8 9.3 11.3 6.3
flanders mypy bash 64.9 54.9 9.6 6.3
flanders mypy osh_eval.opt.stripped 72.8 64.1 8.4 12.8
lisa ls osh_eval.opt.stripped 20.5 12.1 8.3 10.3
lisa ls bash 17.1 16.8 0.0 6.4
lisa ls-short osh_eval.opt.stripped 5.7 2.6 2.9 6.2
lisa ls-short bash 8.5 6.0 0.5 6.4
lisa mypy osh_eval.opt.stripped 29.8 15.1 14.4 12.7
lisa mypy bash 20.0 19.1 0.6 6.2

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 69.5 49.9 19.2 6.8
flanders bytes 200 osh_eval.opt.stripped 483.8 337.8 145.6 151.5
flanders bytes 200 bash 1,075.3 1,068.7 6.5 6.2
flanders int 200 python 137.5 126.2 11.1 6.7
flanders int 200 osh_eval.opt.stripped 503.3 365.6 136.9 149.6
flanders int 200 bash 1,102.2 1,096.2 5.8 6.2
lisa bytes 200 python 17.5 16.9 0.4 7.0
lisa bytes 200 osh_eval.opt.stripped 154.6 122.1 32.4 159.0
lisa bytes 200 bash 277.7 277.3 0.3 6.2
lisa int 200 python 38.3 34.8 3.3 6.9
lisa int 200 osh_eval.opt.stripped 163.9 123.9 39.8 146.4
lisa int 200 bash 285.2 284.6 0.5 6.2

Interpreter and Host Details

shell label shell id
bash bash-d685a43c
dash dash-2887d9e6
oil-native osh_eval.opt.stripped-d8c4bb51
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 69.5 49.9 19.2 6.8
flanders bubble_sort bytes 200 osh_eval.opt.stripped 483.8 337.8 145.6 151.5
flanders bubble_sort bytes 200 bash 1,075.3 1,068.7 6.5 6.2
flanders bubble_sort int 200 python 137.5 126.2 11.1 6.7
flanders bubble_sort int 200 osh_eval.opt.stripped 503.3 365.6 136.9 149.6
flanders bubble_sort int 200 bash 1,102.2 1,096.2 5.8 6.2
flanders fib 200 44 python 40.6 22.3 18.0 6.8
flanders fib 200 44 dash 81.6 75.9 5.6 6.2
flanders fib 200 44 osh_eval.opt.stripped 254.3 194.5 59.6 98.8
flanders fib 200 44 bash 308.5 296.8 10.4 6.1
flanders palindrome bytes _ python 58.0 44.1 13.6 7.1
flanders palindrome bytes _ osh_eval.opt.stripped 971.6 726.9 244.2 231.2
flanders palindrome bytes _ bash 982.3 934.8 47.2 6.1
flanders palindrome unicode _ python 79.8 68.5 10.9 7.0
flanders palindrome unicode _ osh_eval.opt.stripped 1,115.8 822.0 293.5 231.2
flanders palindrome unicode _ bash 1,072.6 980.2 92.2 6.1
flanders parse_help ls _ bash 50.0 38.3 11.5 6.1
flanders parse_help ls _ osh_eval.opt.stripped 56.0 42.8 12.9 10.3
flanders parse_help ls-short _ bash 14.6 6.3 8.1 6.1
flanders parse_help ls-short _ osh_eval.opt.stripped 20.8 9.3 11.3 6.3
flanders parse_help mypy _ bash 64.9 54.9 9.6 6.3
flanders parse_help mypy _ osh_eval.opt.stripped 72.8 64.1 8.4 12.8
flanders word_freq 10 configure python 49.6 49.2 2.9 7.0
flanders word_freq 10 configure osh_eval.opt.stripped 213.2 136.4 78.8 63.3
flanders word_freq 10 configure bash 342.1 325.1 23.0 6.1
lisa bubble_sort bytes 200 python 17.5 16.9 0.4 7.0
lisa bubble_sort bytes 200 osh_eval.opt.stripped 154.6 122.1 32.4 159.0
lisa bubble_sort bytes 200 bash 277.7 277.3 0.3 6.2
lisa bubble_sort int 200 python 38.3 34.8 3.3 6.9
lisa bubble_sort int 200 osh_eval.opt.stripped 163.9 123.9 39.8 146.4
lisa bubble_sort int 200 bash 285.2 284.6 0.5 6.2
lisa fib 200 44 python 13.2 12.7 0.5 7.0
lisa fib 200 44 dash 27.8 27.6 0.0 6.4
lisa fib 200 44 osh_eval.opt.stripped 89.7 55.3 34.2 98.7
lisa fib 200 44 bash 93.7 90.2 3.2 6.2
lisa palindrome bytes _ python 17.7 12.7 4.9 6.9
lisa palindrome bytes _ osh_eval.opt.stripped 240.1 155.7 84.3 231.1
lisa palindrome bytes _ bash 182.8 174.9 7.9 6.3
lisa palindrome unicode _ python 21.0 17.6 3.3 7.1
lisa palindrome unicode _ osh_eval.opt.stripped 224.1 152.2 71.8 231.1
lisa palindrome unicode _ bash 189.4 177.2 12.0 6.4
lisa parse_help ls _ osh_eval.opt.stripped 20.5 12.1 8.3 10.3
lisa parse_help ls _ bash 17.1 16.8 0.0 6.4
lisa parse_help ls-short _ osh_eval.opt.stripped 5.7 2.6 2.9 6.2
lisa parse_help ls-short _ bash 8.5 6.0 0.5 6.4
lisa parse_help mypy _ osh_eval.opt.stripped 29.8 15.1 14.4 12.7
lisa parse_help mypy _ bash 20.0 19.1 0.6 6.2
lisa word_freq 10 configure python 19.7 20.4 0.0 7.1
lisa word_freq 10 configure osh_eval.opt.stripped 82.7 64.6 18.7 63.3
lisa word_freq 10 configure bash 113.9 103.9 12.1 6.2