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.8 1.8 0.0 1.8
flanders _ _ bash 2.7 2.7 0.0 3.1
flanders _ _ osh_eval.opt.stripped 3.7 3.7 0.0 4.0
flanders _ _ python 26.2 13.1 13.1 6.8
lisa _ _ bash 0.9 0.0 0.9 3.1
lisa _ _ dash 0.4 0.4 0.0 1.6
lisa _ _ osh_eval.opt.stripped 1.2 1.2 0.0 3.8
lisa _ _ python 9.7 4.8 4.8 6.9

fibonacci (integers)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 200 44 python 27.4 22.8 4.6 6.9
flanders 200 44 dash 72.1 72.0 0.0 1.8
flanders 200 44 bash 316.4 308.4 8.0 3.1
flanders 200 44 osh_eval.opt.stripped 374.3 309.9 64.4 98.9
lisa 200 44 python 9.8 9.8 0.0 6.9
lisa 200 44 dash 19.0 18.9 0.0 1.7
lisa 200 44 osh_eval.opt.stripped 95.1 55.4 39.6 98.8
lisa 200 44 bash 73.0 72.9 0.0 3.1

word_freq (associative arrays / hash tables)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 10 configure python 53.4 35.2 21.0 7.0
flanders 10 configure osh_eval.opt.stripped 286.3 209.4 79.5 63.5
flanders 10 configure bash 392.0 382.3 18.5 3.4
lisa 10 configure python 14.7 15.7 0.0 7.2
lisa 10 configure osh_eval.opt.stripped 96.0 67.1 29.8 63.6
lisa 10 configure bash 91.5 87.7 6.8 3.4

parse_help (strings, real code)

host name arg1 runtime elapsed ms user ms sys ms max rss MB
flanders ls bash 56.4 52.6 4.2 3.8
flanders ls osh_eval.opt.stripped 71.9 54.1 18.2 10.5
flanders ls-short osh_eval.opt.stripped 21.2 16.2 5.5 4.9
flanders ls-short bash 20.1 17.5 2.9 3.4
flanders mypy bash 70.2 65.2 5.3 3.6
flanders mypy osh_eval.opt.stripped 92.3 71.0 21.6 12.9
lisa ls osh_eval.opt.stripped 21.6 12.6 9.1 10.6
lisa ls bash 15.6 15.2 0.4 3.6
lisa ls-short bash 9.1 5.5 0.0 3.6
lisa ls-short osh_eval.opt.stripped 5.8 5.9 0.0 4.9
lisa mypy bash 18.4 18.4 0.0 3.5
lisa mypy osh_eval.opt.stripped 29.0 24.8 4.2 12.9

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 49.6 40.0 10.2 6.8
flanders bytes 200 osh_eval.opt.stripped 685.2 604.9 80.9 157.6
flanders bytes 200 bash 952.8 946.3 7.2 3.3
flanders int 200 python 90.9 78.1 13.3 6.7
flanders int 200 osh_eval.opt.stripped 678.7 573.4 105.6 140.3
flanders int 200 bash 899.9 899.3 1.1 3.3
lisa bytes 200 python 15.1 11.5 3.8 7.0
lisa bytes 200 osh_eval.opt.stripped 231.7 193.9 36.2 151.2
lisa bytes 200 bash 269.1 267.6 0.4 3.4
lisa int 200 python 30.6 26.4 4.3 7.0
lisa int 200 osh_eval.opt.stripped 226.9 188.2 38.8 145.6
lisa int 200 bash 261.2 261.0 0.0 3.4

Interpreter and Host Details

shell label shell id
bash bash-d685a43c
dash dash-2887d9e6
oil-native osh_eval.opt.stripped-ebeb7305
python python-e4b9f5ce
host label host id
flanders flanders-9d0956ac
lisa lisa-9d0956ac

Details

host name task name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders bubble_sort bytes 200 python 49.6 40.0 10.2 6.8
flanders bubble_sort bytes 200 osh_eval.opt.stripped 685.2 604.9 80.9 157.6
flanders bubble_sort bytes 200 bash 952.8 946.3 7.2 3.3
flanders bubble_sort int 200 python 90.9 78.1 13.3 6.7
flanders bubble_sort int 200 osh_eval.opt.stripped 678.7 573.4 105.6 140.3
flanders bubble_sort int 200 bash 899.9 899.3 1.1 3.3
flanders fib 200 44 python 27.4 22.8 4.6 6.9
flanders fib 200 44 dash 72.1 72.0 0.0 1.8
flanders fib 200 44 bash 316.4 308.4 8.0 3.1
flanders fib 200 44 osh_eval.opt.stripped 374.3 309.9 64.4 98.9
flanders hello _ _ dash 1.8 1.8 0.0 1.8
flanders hello _ _ bash 2.7 2.7 0.0 3.1
flanders hello _ _ osh_eval.opt.stripped 3.7 3.7 0.0 4.0
flanders hello _ _ python 26.2 13.1 13.1 6.8
flanders palindrome bytes _ python 46.4 34.7 12.3 7.0
flanders palindrome bytes _ bash 513.9 502.5 12.0 3.3
flanders palindrome bytes _ osh_eval.opt.stripped 790.1 651.1 139.6 231.0
flanders palindrome unicode _ python 52.3 36.1 16.6 7.2
flanders palindrome unicode _ bash 560.2 526.6 34.1 3.3
flanders palindrome unicode _ osh_eval.opt.stripped 787.9 626.7 161.7 230.9
flanders parse_help ls _ bash 56.4 52.6 4.2 3.8
flanders parse_help ls _ osh_eval.opt.stripped 71.9 54.1 18.2 10.5
flanders parse_help ls-short _ osh_eval.opt.stripped 21.2 16.2 5.5 4.9
flanders parse_help ls-short _ bash 20.1 17.5 2.9 3.4
flanders parse_help mypy _ bash 70.2 65.2 5.3 3.6
flanders parse_help mypy _ osh_eval.opt.stripped 92.3 71.0 21.6 12.9
flanders word_freq 10 configure python 53.4 35.2 21.0 7.0
flanders word_freq 10 configure osh_eval.opt.stripped 286.3 209.4 79.5 63.5
flanders word_freq 10 configure bash 392.0 382.3 18.5 3.4
lisa bubble_sort bytes 200 python 15.1 11.5 3.8 7.0
lisa bubble_sort bytes 200 osh_eval.opt.stripped 231.7 193.9 36.2 151.2
lisa bubble_sort bytes 200 bash 269.1 267.6 0.4 3.4
lisa bubble_sort int 200 python 30.6 26.4 4.3 7.0
lisa bubble_sort int 200 osh_eval.opt.stripped 226.9 188.2 38.8 145.6
lisa bubble_sort int 200 bash 261.2 261.0 0.0 3.4
lisa fib 200 44 python 9.8 9.8 0.0 6.9
lisa fib 200 44 dash 19.0 18.9 0.0 1.7
lisa fib 200 44 osh_eval.opt.stripped 95.1 55.4 39.6 98.8
lisa fib 200 44 bash 73.0 72.9 0.0 3.1
lisa hello _ _ bash 0.9 0.0 0.9 3.1
lisa hello _ _ dash 0.4 0.4 0.0 1.6
lisa hello _ _ osh_eval.opt.stripped 1.2 1.2 0.0 3.8
lisa hello _ _ python 9.7 4.8 4.8 6.9
lisa palindrome bytes _ python 13.8 3.7 10.2 7.0
lisa palindrome bytes _ bash 158.6 147.5 11.2 3.4
lisa palindrome bytes _ osh_eval.opt.stripped 261.0 212.4 48.7 230.9
lisa palindrome unicode _ python 19.1 15.5 3.7 7.2
lisa palindrome unicode _ bash 174.6 162.8 11.9 3.3
lisa palindrome unicode _ osh_eval.opt.stripped 256.4 170.3 85.6 231.0
lisa parse_help ls _ osh_eval.opt.stripped 21.6 12.6 9.1 10.6
lisa parse_help ls _ bash 15.6 15.2 0.4 3.6
lisa parse_help ls-short _ bash 9.1 5.5 0.0 3.6
lisa parse_help ls-short _ osh_eval.opt.stripped 5.8 5.9 0.0 4.9
lisa parse_help mypy _ bash 18.4 18.4 0.0 3.5
lisa parse_help mypy _ osh_eval.opt.stripped 29.0 24.8 4.2 12.9
lisa word_freq 10 configure python 14.7 15.7 0.0 7.2
lisa word_freq 10 configure osh_eval.opt.stripped 96.0 67.1 29.8 63.6
lisa word_freq 10 configure bash 91.5 87.7 6.8 3.4