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.7 1.7 0.0 1.6
flanders _ _ bash 2.9 2.9 0.0 3.1
flanders _ _ osh_eval.opt.stripped 4.2 4.1 0.0 3.9
flanders _ _ python 21.2 12.7 8.4 6.8
lisa _ _ dash 0.4 0.3 0.0 1.7
lisa _ _ bash 0.8 0.8 0.0 3.1
lisa _ _ osh_eval.opt.stripped 1.1 1.1 0.0 3.9
lisa _ _ python 7.8 7.7 0.0 6.9

fibonacci (integers)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 200 44 python 23.0 11.4 11.4 6.9
flanders 200 44 dash 59.3 55.3 3.9 1.7
flanders 200 44 bash 247.6 239.6 8.0 3.1
flanders 200 44 osh_eval.opt.stripped 295.5 247.6 47.9 98.9
lisa 200 44 python 10.2 10.2 0.0 6.9
lisa 200 44 dash 20.2 20.1 0.0 1.6
lisa 200 44 bash 75.3 75.2 0.0 3.1
lisa 200 44 osh_eval.opt.stripped 100.4 79.5 19.9 98.8

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.6 35.4 13.2 7.1
flanders 10 configure osh_eval.opt.stripped 230.2 208.6 24.2 63.5
flanders 10 configure bash 304.6 306.9 5.0 3.3
lisa 10 configure python 17.5 11.0 7.4 7.1
lisa 10 configure osh_eval.opt.stripped 92.3 69.1 23.9 63.5
lisa 10 configure bash 93.3 88.4 7.1 3.4

parse_help (strings, real code)

host name arg1 runtime elapsed ms user ms sys ms max rss MB
flanders ls bash 50.1 37.6 12.8 3.5
flanders ls osh_eval.opt.stripped 57.0 53.2 4.1 10.6
flanders ls-short osh_eval.opt.stripped 22.3 17.8 4.8 4.9
flanders ls-short bash 22.3 18.3 0.0 3.4
flanders mypy osh_eval.opt.stripped 71.9 37.9 34.3 13.0
flanders mypy bash 56.8 47.0 10.1 3.6
lisa ls bash 15.3 15.2 0.0 3.6
lisa ls osh_eval.opt.stripped 20.2 16.1 4.2 10.6
lisa ls-short osh_eval.opt.stripped 5.1 3.5 1.7 5.0
lisa ls-short bash 7.9 6.1 0.0 3.5
lisa mypy bash 19.0 18.8 0.0 3.6
lisa mypy osh_eval.opt.stripped 30.8 24.6 5.9 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 44.9 34.8 10.4 6.8
flanders bytes 200 osh_eval.opt.stripped 588.6 509.6 79.5 161.3
flanders bytes 200 bash 784.2 776.7 8.0 3.3
flanders int 200 python 83.4 62.5 21.4 6.8
flanders int 200 osh_eval.opt.stripped 549.9 469.6 80.7 141.4
flanders int 200 bash 803.4 794.8 9.1 3.3
lisa bytes 200 python 15.5 14.7 0.6 7.0
lisa bytes 200 osh_eval.opt.stripped 202.7 190.9 11.9 144.3
lisa bytes 200 bash 238.2 237.8 0.4 3.5
lisa int 200 python 32.8 28.8 4.2 6.9
lisa int 200 osh_eval.opt.stripped 214.3 178.7 35.8 142.3
lisa int 200 bash 260.4 260.4 0.0 3.4

Interpreter and Host Details

shell label shell id
bash bash-d685a43c
dash dash-2887d9e6
oil-native osh_eval.opt.stripped-76be85f8
python python-e4b9f5ce
host label host id
flanders flanders-59823a5d
lisa lisa-59823a5d

Details

host name task name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders bubble_sort bytes 200 python 44.9 34.8 10.4 6.8
flanders bubble_sort bytes 200 osh_eval.opt.stripped 588.6 509.6 79.5 161.3
flanders bubble_sort bytes 200 bash 784.2 776.7 8.0 3.3
flanders bubble_sort int 200 python 83.4 62.5 21.4 6.8
flanders bubble_sort int 200 osh_eval.opt.stripped 549.9 469.6 80.7 141.4
flanders bubble_sort int 200 bash 803.4 794.8 9.1 3.3
flanders fib 200 44 python 23.0 11.4 11.4 6.9
flanders fib 200 44 dash 59.3 55.3 3.9 1.7
flanders fib 200 44 bash 247.6 239.6 8.0 3.1
flanders fib 200 44 osh_eval.opt.stripped 295.5 247.6 47.9 98.9
flanders hello _ _ dash 1.7 1.7 0.0 1.6
flanders hello _ _ bash 2.9 2.9 0.0 3.1
flanders hello _ _ osh_eval.opt.stripped 4.2 4.1 0.0 3.9
flanders hello _ _ python 21.2 12.7 8.4 6.8
flanders palindrome bytes _ python 41.4 37.7 4.1 7.0
flanders palindrome bytes _ bash 466.0 454.2 12.3 3.3
flanders palindrome bytes _ osh_eval.opt.stripped 799.3 650.5 149.3 231.0
flanders palindrome unicode _ python 54.6 44.0 11.1 7.2
flanders palindrome unicode _ bash 508.3 479.6 29.2 3.3
flanders palindrome unicode _ osh_eval.opt.stripped 724.7 549.9 175.4 231.0
flanders parse_help ls _ bash 50.1 37.6 12.8 3.5
flanders parse_help ls _ osh_eval.opt.stripped 57.0 53.2 4.1 10.6
flanders parse_help ls-short _ osh_eval.opt.stripped 22.3 17.8 4.8 4.9
flanders parse_help ls-short _ bash 22.3 18.3 0.0 3.4
flanders parse_help mypy _ osh_eval.opt.stripped 71.9 37.9 34.3 13.0
flanders parse_help mypy _ bash 56.8 47.0 10.1 3.6
flanders word_freq 10 configure python 45.6 35.4 13.2 7.1
flanders word_freq 10 configure osh_eval.opt.stripped 230.2 208.6 24.2 63.5
flanders word_freq 10 configure bash 304.6 306.9 5.0 3.3
lisa bubble_sort bytes 200 python 15.5 14.7 0.6 7.0
lisa bubble_sort bytes 200 osh_eval.opt.stripped 202.7 190.9 11.9 144.3
lisa bubble_sort bytes 200 bash 238.2 237.8 0.4 3.5
lisa bubble_sort int 200 python 32.8 28.8 4.2 6.9
lisa bubble_sort int 200 osh_eval.opt.stripped 214.3 178.7 35.8 142.3
lisa bubble_sort int 200 bash 260.4 260.4 0.0 3.4
lisa fib 200 44 python 10.2 10.2 0.0 6.9
lisa fib 200 44 dash 20.2 20.1 0.0 1.6
lisa fib 200 44 bash 75.3 75.2 0.0 3.1
lisa fib 200 44 osh_eval.opt.stripped 100.4 79.5 19.9 98.8
lisa hello _ _ dash 0.4 0.3 0.0 1.7
lisa hello _ _ bash 0.8 0.8 0.0 3.1
lisa hello _ _ osh_eval.opt.stripped 1.1 1.1 0.0 3.9
lisa hello _ _ python 7.8 7.7 0.0 6.9
lisa palindrome bytes _ python 17.1 17.3 0.0 7.1
lisa palindrome bytes _ bash 164.0 159.0 4.0 3.4
lisa palindrome bytes _ osh_eval.opt.stripped 254.0 198.4 55.7 231.1
lisa palindrome unicode _ python 18.6 15.2 3.6 7.2
lisa palindrome unicode _ bash 183.2 175.4 8.0 3.4
lisa palindrome unicode _ osh_eval.opt.stripped 260.5 204.2 56.4 231.0
lisa parse_help ls _ bash 15.3 15.2 0.0 3.6
lisa parse_help ls _ osh_eval.opt.stripped 20.2 16.1 4.2 10.6
lisa parse_help ls-short _ osh_eval.opt.stripped 5.1 3.5 1.7 5.0
lisa parse_help ls-short _ bash 7.9 6.1 0.0 3.5
lisa parse_help mypy _ bash 19.0 18.8 0.0 3.6
lisa parse_help mypy _ osh_eval.opt.stripped 30.8 24.6 5.9 13.0
lisa word_freq 10 configure python 17.5 11.0 7.4 7.1
lisa word_freq 10 configure osh_eval.opt.stripped 92.3 69.1 23.9 63.5
lisa word_freq 10 configure bash 93.3 88.4 7.1 3.4