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 _ _ osh_eval.opt.stripped 3.2 0.0 3.2 3.8
flanders _ _ dash 1.2 1.2 0.0 1.6
flanders _ _ bash 2.2 2.1 0.0 3.1
flanders _ _ python 19.9 14.4 3.6 6.9
lenny _ _ dash 0.5 0.5 0.0 1.7
lenny _ _ osh_eval.opt.stripped 1.3 1.3 0.0 4.1
lenny _ _ bash 1.8 1.3 0.0 3.3
lenny _ _ python 8.1 7.8 0.0 7.4

fibonacci (integers)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 200 44 python 24.3 18.5 3.7 6.8
flanders 200 44 dash 56.1 56.0 0.0 1.8
flanders 200 44 osh_eval.opt.stripped 254.6 194.0 60.6 99.0
flanders 200 44 bash 215.8 211.6 4.0 3.1
lenny 200 44 python 6.7 0.0 6.5 7.4
lenny 200 44 dash 17.3 17.3 0.0 1.7
lenny 200 44 osh_eval.opt.stripped 85.0 52.6 32.4 99.3
lenny 200 44 bash 73.8 73.7 0.0 3.4

word_freq (associative arrays / hash tables)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 10 configure python 47.2 40.5 7.5 7.0
flanders 10 configure osh_eval.opt.stripped 207.5 165.7 44.4 63.6
flanders 10 configure bash 269.5 265.9 9.8 3.4
lenny 10 configure python 12.5 10.2 2.8 7.4
lenny 10 configure osh_eval.opt.stripped 70.5 58.9 12.5 63.8
lenny 10 configure bash 79.0 76.4 4.1 3.7

parse_help (strings, real code)

host name arg1 runtime elapsed ms user ms sys ms max rss MB
flanders ls bash 42.9 36.0 7.0 3.5
flanders ls osh_eval.opt.stripped 57.3 44.7 12.8 10.7
flanders ls-short osh_eval.opt.stripped 19.0 14.4 5.0 5.0
flanders ls-short bash 20.5 14.9 3.8 3.5
flanders mypy bash 48.6 44.0 4.9 3.7
flanders mypy osh_eval.opt.stripped 68.1 56.6 11.9 13.1
lenny ls bash 21.1 19.3 1.9 3.8
lenny ls osh_eval.opt.stripped 26.9 22.6 4.4 10.9
lenny ls-short osh_eval.opt.stripped 7.5 1.1 6.5 5.2
lenny ls-short bash 8.6 7.2 0.7 3.8
lenny mypy bash 31.8 31.4 0.5 3.8
lenny mypy osh_eval.opt.stripped 35.9 32.2 3.9 13.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 41.5 38.5 3.4 6.8
flanders bytes 200 osh_eval.opt.stripped 494.0 390.9 103.5 161.4
flanders bytes 200 bash 709.8 708.1 2.1 3.3
flanders int 200 python 87.4 74.9 11.0 6.8
flanders int 200 osh_eval.opt.stripped 501.7 430.2 72.0 153.9
flanders int 200 bash 710.8 701.4 7.9 3.3
lenny bytes 200 python 11.8 7.7 4.2 7.2
lenny bytes 200 osh_eval.opt.stripped 163.8 119.7 44.0 140.3
lenny bytes 200 bash 195.8 196.0 0.0 3.6
lenny int 200 python 26.0 21.5 4.5 7.3
lenny int 200 osh_eval.opt.stripped 169.8 137.9 32.0 138.0
lenny int 200 bash 207.2 207.2 0.0 3.7

Interpreter and Host Details

shell label shell id
bash bash-d685a43c
dash dash-2887d9e6
oil-native osh_eval.opt.stripped-4a6fedf8
python python-e4b9f5ce
bash bash-9af8f89f
dash dash-9ff48631
python python-e809d907
host label host id
flanders flanders-63f04b74
lenny lenny-c758ab9d

Details

host name task name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders bubble_sort bytes 200 python 41.5 38.5 3.4 6.8
flanders bubble_sort bytes 200 osh_eval.opt.stripped 494.0 390.9 103.5 161.4
flanders bubble_sort bytes 200 bash 709.8 708.1 2.1 3.3
flanders bubble_sort int 200 python 87.4 74.9 11.0 6.8
flanders bubble_sort int 200 osh_eval.opt.stripped 501.7 430.2 72.0 153.9
flanders bubble_sort int 200 bash 710.8 701.4 7.9 3.3
flanders fib 200 44 python 24.3 18.5 3.7 6.8
flanders fib 200 44 dash 56.1 56.0 0.0 1.8
flanders fib 200 44 osh_eval.opt.stripped 254.6 194.0 60.6 99.0
flanders fib 200 44 bash 215.8 211.6 4.0 3.1
flanders hello _ _ osh_eval.opt.stripped 3.2 0.0 3.2 3.8
flanders hello _ _ dash 1.2 1.2 0.0 1.6
flanders hello _ _ bash 2.2 2.1 0.0 3.1
flanders hello _ _ python 19.9 14.4 3.6 6.9
flanders palindrome bytes _ python 43.0 23.0 20.6 7.1
flanders palindrome bytes _ bash 425.4 413.9 11.9 3.3
flanders palindrome bytes _ osh_eval.opt.stripped 710.6 574.3 136.8 231.0
flanders palindrome unicode _ python 54.0 33.6 18.8 7.2
flanders palindrome unicode _ bash 458.4 437.9 20.8 3.3
flanders palindrome unicode _ osh_eval.opt.stripped 696.3 534.2 162.6 231.0
flanders parse_help ls _ bash 42.9 36.0 7.0 3.5
flanders parse_help ls _ osh_eval.opt.stripped 57.3 44.7 12.8 10.7
flanders parse_help ls-short _ osh_eval.opt.stripped 19.0 14.4 5.0 5.0
flanders parse_help ls-short _ bash 20.5 14.9 3.8 3.5
flanders parse_help mypy _ bash 48.6 44.0 4.9 3.7
flanders parse_help mypy _ osh_eval.opt.stripped 68.1 56.6 11.9 13.1
flanders word_freq 10 configure python 47.2 40.5 7.5 7.0
flanders word_freq 10 configure osh_eval.opt.stripped 207.5 165.7 44.4 63.6
flanders word_freq 10 configure bash 269.5 265.9 9.8 3.4
lenny bubble_sort bytes 200 python 11.8 7.7 4.2 7.2
lenny bubble_sort bytes 200 osh_eval.opt.stripped 163.8 119.7 44.0 140.3
lenny bubble_sort bytes 200 bash 195.8 196.0 0.0 3.6
lenny bubble_sort int 200 python 26.0 21.5 4.5 7.3
lenny bubble_sort int 200 osh_eval.opt.stripped 169.8 137.9 32.0 138.0
lenny bubble_sort int 200 bash 207.2 207.2 0.0 3.7
lenny fib 200 44 python 6.7 0.0 6.5 7.4
lenny fib 200 44 dash 17.3 17.3 0.0 1.7
lenny fib 200 44 osh_eval.opt.stripped 85.0 52.6 32.4 99.3
lenny fib 200 44 bash 73.8 73.7 0.0 3.4
lenny hello _ _ dash 0.5 0.5 0.0 1.7
lenny hello _ _ osh_eval.opt.stripped 1.3 1.3 0.0 4.1
lenny hello _ _ bash 1.8 1.3 0.0 3.3
lenny hello _ _ python 8.1 7.8 0.0 7.4
lenny palindrome bytes _ python 12.4 9.9 2.7 7.4
lenny palindrome bytes _ bash 131.5 119.2 12.5 3.6
lenny palindrome bytes _ osh_eval.opt.stripped 232.5 177.8 54.9 231.2
lenny palindrome unicode _ python 13.8 13.8 0.0 7.4
lenny palindrome unicode _ bash 147.7 143.7 4.0 3.7
lenny palindrome unicode _ osh_eval.opt.stripped 227.9 175.9 52.1 231.3
lenny parse_help ls _ bash 21.1 19.3 1.9 3.8
lenny parse_help ls _ osh_eval.opt.stripped 26.9 22.6 4.4 10.9
lenny parse_help ls-short _ osh_eval.opt.stripped 7.5 1.1 6.5 5.2
lenny parse_help ls-short _ bash 8.6 7.2 0.7 3.8
lenny parse_help mypy _ bash 31.8 31.4 0.5 3.8
lenny parse_help mypy _ osh_eval.opt.stripped 35.9 32.2 3.9 13.3
lenny word_freq 10 configure python 12.5 10.2 2.8 7.4
lenny word_freq 10 configure osh_eval.opt.stripped 70.5 58.9 12.5 63.8
lenny word_freq 10 configure bash 79.0 76.4 4.1 3.7