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

hello (minimal startup)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders _ _ dash 1.6 1.5 0.0 1.6
flanders _ _ bash 2.4 2.4 0.0 3.1
flanders _ _ osh_eval.opt.stripped 3.1 3.1 0.0 4.0
flanders _ _ python 20.7 8.3 12.4 6.8
lisa _ _ osh_eval.opt.stripped 1.5 0.0 1.4 4.0
lisa _ _ dash 0.4 0.4 0.0 1.7
lisa _ _ bash 0.8 0.7 0.0 3.1
lisa _ _ python 8.2 4.1 4.1 7.0

fibonacci (integers)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 200 44 python 27.1 23.1 3.9 6.9
flanders 200 44 dash 61.5 61.4 0.0 1.7
flanders 200 44 bash 240.2 236.2 4.0 3.1
flanders 200 44 osh_eval.opt.stripped 359.8 271.8 87.9 98.9
lisa 200 44 python 8.0 4.0 4.0 6.9
lisa 200 44 dash 21.7 21.7 0.0 1.6
lisa 200 44 osh_eval.opt.stripped 99.2 62.0 37.2 98.9
lisa 200 44 bash 78.6 78.6 0.0 3.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 52.0 48.0 7.0 7.1
flanders 10 configure osh_eval.opt.stripped 293.5 247.2 50.2 63.5
flanders 10 configure bash 388.0 359.8 36.5 3.4
lisa 10 configure python 14.8 9.2 6.4 7.2
lisa 10 configure osh_eval.opt.stripped 90.4 78.6 12.6 63.6
lisa 10 configure bash 103.9 96.5 7.0 3.5

parse_help (strings, real code)

host name arg1 runtime elapsed ms user ms sys ms max rss MB
flanders ls osh_eval.opt.stripped 68.6 41.7 27.3 10.5
flanders ls bash 53.8 43.0 11.1 3.7
flanders ls-short osh_eval.opt.stripped 23.9 10.8 13.6 5.0
flanders ls-short bash 20.5 15.9 5.1 3.5
flanders mypy bash 67.7 60.8 7.3 3.7
flanders mypy osh_eval.opt.stripped 91.4 65.7 26.1 13.0
lisa ls osh_eval.opt.stripped 21.8 8.2 13.1 10.6
lisa ls bash 15.6 13.0 2.7 3.6
lisa ls-short bash 4.9 4.9 0.0 3.5
lisa ls-short osh_eval.opt.stripped 5.6 5.3 0.3 4.9
lisa mypy bash 22.9 21.5 1.4 3.6
lisa mypy osh_eval.opt.stripped 30.1 21.7 8.5 13.0

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 48.7 31.2 18.1 6.7
flanders bytes 200 osh_eval.opt.stripped 713.7 619.3 94.8 154.5
flanders bytes 200 bash 952.4 952.9 0.0 3.3
flanders int 200 python 99.4 92.0 7.9 6.8
flanders int 200 osh_eval.opt.stripped 632.6 547.8 85.3 131.0
flanders int 200 bash 955.1 953.8 1.9 3.3
lisa bytes 200 python 16.7 9.6 7.3 6.9
lisa bytes 200 osh_eval.opt.stripped 271.8 231.9 40.0 162.5
lisa bytes 200 bash 302.6 298.7 4.0 3.5
lisa int 200 python 35.2 35.3 0.0 7.0
lisa int 200 osh_eval.opt.stripped 220.2 176.3 44.0 137.2
lisa int 200 bash 279.1 279.3 0.0 3.4

Interpreter and Host Details

shell label shell id
bash bash-d685a43c
dash dash-2887d9e6
oil-native osh_eval.opt.stripped-159be6f4
python python-e4b9f5ce
host label host id
flanders flanders-c6f24b89
lisa lisa-c6f24b89

Details

host name task name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders bubble_sort bytes 200 python 48.7 31.2 18.1 6.7
flanders bubble_sort bytes 200 osh_eval.opt.stripped 713.7 619.3 94.8 154.5
flanders bubble_sort bytes 200 bash 952.4 952.9 0.0 3.3
flanders bubble_sort int 200 python 99.4 92.0 7.9 6.8
flanders bubble_sort int 200 osh_eval.opt.stripped 632.6 547.8 85.3 131.0
flanders bubble_sort int 200 bash 955.1 953.8 1.9 3.3
flanders fib 200 44 python 27.1 23.1 3.9 6.9
flanders fib 200 44 dash 61.5 61.4 0.0 1.7
flanders fib 200 44 bash 240.2 236.2 4.0 3.1
flanders fib 200 44 osh_eval.opt.stripped 359.8 271.8 87.9 98.9
flanders hello _ _ dash 1.6 1.5 0.0 1.6
flanders hello _ _ bash 2.4 2.4 0.0 3.1
flanders hello _ _ osh_eval.opt.stripped 3.1 3.1 0.0 4.0
flanders hello _ _ python 20.7 8.3 12.4 6.8
flanders palindrome bytes _ python 41.1 26.2 15.4 7.1
flanders palindrome bytes _ bash 562.2 513.0 47.3 3.3
flanders palindrome bytes _ osh_eval.opt.stripped 775.6 621.0 155.1 230.9
flanders palindrome unicode _ python 53.6 46.7 7.4 7.1
flanders palindrome unicode _ osh_eval.opt.stripped 779.8 608.8 171.5 230.9
flanders palindrome unicode _ bash 656.8 615.8 41.5 3.3
flanders parse_help ls _ osh_eval.opt.stripped 68.6 41.7 27.3 10.5
flanders parse_help ls _ bash 53.8 43.0 11.1 3.7
flanders parse_help ls-short _ osh_eval.opt.stripped 23.9 10.8 13.6 5.0
flanders parse_help ls-short _ bash 20.5 15.9 5.1 3.5
flanders parse_help mypy _ bash 67.7 60.8 7.3 3.7
flanders parse_help mypy _ osh_eval.opt.stripped 91.4 65.7 26.1 13.0
flanders word_freq 10 configure python 52.0 48.0 7.0 7.1
flanders word_freq 10 configure osh_eval.opt.stripped 293.5 247.2 50.2 63.5
flanders word_freq 10 configure bash 388.0 359.8 36.5 3.4
lisa bubble_sort bytes 200 python 16.7 9.6 7.3 6.9
lisa bubble_sort bytes 200 osh_eval.opt.stripped 271.8 231.9 40.0 162.5
lisa bubble_sort bytes 200 bash 302.6 298.7 4.0 3.5
lisa bubble_sort int 200 python 35.2 35.3 0.0 7.0
lisa bubble_sort int 200 osh_eval.opt.stripped 220.2 176.3 44.0 137.2
lisa bubble_sort int 200 bash 279.1 279.3 0.0 3.4
lisa fib 200 44 python 8.0 4.0 4.0 6.9
lisa fib 200 44 dash 21.7 21.7 0.0 1.6
lisa fib 200 44 osh_eval.opt.stripped 99.2 62.0 37.2 98.9
lisa fib 200 44 bash 78.6 78.6 0.0 3.2
lisa hello _ _ osh_eval.opt.stripped 1.5 0.0 1.4 4.0
lisa hello _ _ dash 0.4 0.4 0.0 1.7
lisa hello _ _ bash 0.8 0.7 0.0 3.1
lisa hello _ _ python 8.2 4.1 4.1 7.0
lisa palindrome bytes _ python 15.7 15.7 0.0 7.1
lisa palindrome bytes _ bash 200.6 178.0 22.5 3.4
lisa palindrome bytes _ osh_eval.opt.stripped 278.6 222.3 56.4 231.1
lisa palindrome unicode _ python 17.1 14.0 2.8 7.2
lisa palindrome unicode _ bash 198.7 190.9 7.9 3.4
lisa palindrome unicode _ osh_eval.opt.stripped 286.9 205.5 79.5 231.0
lisa parse_help ls _ osh_eval.opt.stripped 21.8 8.2 13.1 10.6
lisa parse_help ls _ bash 15.6 13.0 2.7 3.6
lisa parse_help ls-short _ bash 4.9 4.9 0.0 3.5
lisa parse_help ls-short _ osh_eval.opt.stripped 5.6 5.3 0.3 4.9
lisa parse_help mypy _ bash 22.9 21.5 1.4 3.6
lisa parse_help mypy _ osh_eval.opt.stripped 30.1 21.7 8.5 13.0
lisa word_freq 10 configure python 14.8 9.2 6.4 7.2
lisa word_freq 10 configure osh_eval.opt.stripped 90.4 78.6 12.6 63.6
lisa word_freq 10 configure bash 103.9 96.5 7.0 3.5