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
broome _ _ osh_eval.stripped 2.8 0.0 2.8 4.1
broome _ _ dash 1.1 1.0 0.0 1.7
broome _ _ bash 2.8 2.0 0.0 3.2
broome _ _ python2 15.2 10.8 3.6 7.3
lenny _ _ dash 0.4 0.3 0.0 1.7
lenny _ _ bash 0.8 0.8 0.0 3.4
lenny _ _ osh_eval.stripped 1.0 1.0 0.0 4.0
lenny _ _ python2 6.0 5.9 0.0 7.3

fibonacci (integers)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
broome 200 44 python2 15.9 11.3 3.8 7.4
broome 200 44 dash 47.8 47.7 0.0 1.8
broome 200 44 osh_eval.stripped 135.6 90.4 45.2 102.2
broome 200 44 bash 107.5 106.7 0.0 3.4
lenny 200 44 python2 6.4 0.0 6.4 7.4
lenny 200 44 dash 17.2 17.2 0.0 1.7
lenny 200 44 osh_eval.stripped 69.1 48.7 20.3 102.2
lenny 200 44 bash 60.9 60.8 0.0 3.3

word_freq (associative arrays / hash tables)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
broome 10 configure python2 32.2 32.3 1.3 7.4
broome 10 configure osh_eval.stripped 129.9 103.6 32.4 64.1
broome 10 configure bash 130.9 119.3 16.8 3.6
lenny 10 configure python2 13.2 14.1 0.0 7.5
lenny 10 configure osh_eval.stripped 62.3 38.6 25.8 64.1
lenny 10 configure bash 84.1 81.8 4.3 3.6

parse_help (strings, real code)

host name arg1 runtime elapsed ms user ms sys ms max rss MB
broome ls bash 30.9 22.4 8.7 3.8
broome ls osh_eval.stripped 49.9 23.1 27.2 10.6
broome ls-short bash 16.9 11.2 5.5 3.7
broome ls-short osh_eval.stripped 17.9 13.3 5.0 5.0
broome mypy bash 35.6 33.0 2.3 3.8
broome mypy osh_eval.stripped 58.5 43.5 15.4 12.9
lenny ls bash 18.1 14.5 3.7 3.7
lenny ls osh_eval.stripped 28.7 24.5 4.5 10.4
lenny ls-short osh_eval.stripped 7.1 2.0 5.3 5.2
lenny ls-short bash 6.6 6.0 0.5 3.6
lenny mypy bash 22.9 19.6 3.6 3.8
lenny mypy osh_eval.stripped 37.6 24.1 13.8 12.8

bubble_sort (array of integers, arrays of strings)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
broome bytes 200 python2 33.3 23.0 10.9 7.3
broome bytes 200 osh_eval.stripped 207.0 153.0 54.5 157.2
broome bytes 200 bash 335.0 330.6 4.9 3.7
broome int 200 python2 55.0 39.9 14.7 7.2
broome int 200 osh_eval.stripped 230.5 169.5 61.5 146.2
broome int 200 bash 343.8 343.6 0.0 3.7
lenny bytes 200 python2 13.0 13.0 0.3 7.2
lenny bytes 200 osh_eval.stripped 143.0 111.1 32.0 164.6
lenny bytes 200 bash 222.0 221.9 0.4 3.5
lenny int 200 python2 29.3 22.3 7.3 7.4
lenny int 200 osh_eval.stripped 140.8 97.0 44.1 152.5
lenny int 200 bash 223.9 224.2 0.0 3.7

Interpreter and Host Details

shell label shell id
bash bash-9af8f89f
dash dash-9ff48631
oil-native osh_eval.stripped-9982fcac
python2 python2-e809d907
host label host id
broome broome-8a85d07d
lenny lenny-23f35694

Details

host name task name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
broome bubble_sort bytes 200 python2 33.3 23.0 10.9 7.3
broome bubble_sort bytes 200 osh_eval.stripped 207.0 153.0 54.5 157.2
broome bubble_sort bytes 200 bash 335.0 330.6 4.9 3.7
broome bubble_sort int 200 python2 55.0 39.9 14.7 7.2
broome bubble_sort int 200 osh_eval.stripped 230.5 169.5 61.5 146.2
broome bubble_sort int 200 bash 343.8 343.6 0.0 3.7
broome fib 200 44 python2 15.9 11.3 3.8 7.4
broome fib 200 44 dash 47.8 47.7 0.0 1.8
broome fib 200 44 osh_eval.stripped 135.6 90.4 45.2 102.2
broome fib 200 44 bash 107.5 106.7 0.0 3.4
broome hello _ _ osh_eval.stripped 2.8 0.0 2.8 4.1
broome hello _ _ dash 1.1 1.0 0.0 1.7
broome hello _ _ bash 2.8 2.0 0.0 3.2
broome hello _ _ python2 15.2 10.8 3.6 7.3
broome palindrome bytes _ python2 33.7 24.7 9.6 7.6
broome palindrome bytes _ bash 238.9 227.2 12.0 3.6
broome palindrome bytes _ osh_eval.stripped 306.5 231.5 75.4 239.4
broome palindrome unicode _ python2 36.9 23.7 13.0 7.5
broome palindrome unicode _ bash 215.0 196.5 18.4 3.5
broome palindrome unicode _ osh_eval.stripped 345.8 237.2 109.1 239.5
broome parse_help ls _ bash 30.9 22.4 8.7 3.8
broome parse_help ls _ osh_eval.stripped 49.9 23.1 27.2 10.6
broome parse_help ls-short _ bash 16.9 11.2 5.5 3.7
broome parse_help ls-short _ osh_eval.stripped 17.9 13.3 5.0 5.0
broome parse_help mypy _ bash 35.6 33.0 2.3 3.8
broome parse_help mypy _ osh_eval.stripped 58.5 43.5 15.4 12.9
broome word_freq 10 configure python2 32.2 32.3 1.3 7.4
broome word_freq 10 configure osh_eval.stripped 129.9 103.6 32.4 64.1
broome word_freq 10 configure bash 130.9 119.3 16.8 3.6
lenny bubble_sort bytes 200 python2 13.0 13.0 0.3 7.2
lenny bubble_sort bytes 200 osh_eval.stripped 143.0 111.1 32.0 164.6
lenny bubble_sort bytes 200 bash 222.0 221.9 0.4 3.5
lenny bubble_sort int 200 python2 29.3 22.3 7.3 7.4
lenny bubble_sort int 200 osh_eval.stripped 140.8 97.0 44.1 152.5
lenny bubble_sort int 200 bash 223.9 224.2 0.0 3.7
lenny fib 200 44 python2 6.4 0.0 6.4 7.4
lenny fib 200 44 dash 17.2 17.2 0.0 1.7
lenny fib 200 44 osh_eval.stripped 69.1 48.7 20.3 102.2
lenny fib 200 44 bash 60.9 60.8 0.0 3.3
lenny hello _ _ dash 0.4 0.3 0.0 1.7
lenny hello _ _ bash 0.8 0.8 0.0 3.4
lenny hello _ _ osh_eval.stripped 1.0 1.0 0.0 4.0
lenny hello _ _ python2 6.0 5.9 0.0 7.3
lenny palindrome bytes _ python2 13.4 13.7 0.0 7.4
lenny palindrome bytes _ bash 138.5 119.7 19.1 3.6
lenny palindrome bytes _ osh_eval.stripped 196.8 128.6 68.3 239.4
lenny palindrome unicode _ python2 15.9 12.4 3.8 7.5
lenny palindrome unicode _ bash 150.6 138.4 12.2 3.7
lenny palindrome unicode _ osh_eval.stripped 196.2 147.0 47.4 239.4
lenny parse_help ls _ bash 18.1 14.5 3.7 3.7
lenny parse_help ls _ osh_eval.stripped 28.7 24.5 4.5 10.4
lenny parse_help ls-short _ osh_eval.stripped 7.1 2.0 5.3 5.2
lenny parse_help ls-short _ bash 6.6 6.0 0.5 3.6
lenny parse_help mypy _ bash 22.9 19.6 3.6 3.8
lenny parse_help mypy _ osh_eval.stripped 37.6 24.1 13.8 12.8
lenny word_freq 10 configure python2 13.2 14.1 0.0 7.5
lenny word_freq 10 configure osh_eval.stripped 62.3 38.6 25.8 64.1
lenny word_freq 10 configure bash 84.1 81.8 4.3 3.6