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 _ _ bash 2.1 0.0 2.0 3.2
broome _ _ dash 1.1 1.0 0.0 1.7
broome _ _ osh_eval.stripped 2.9 2.8 0.0 4.1
broome _ _ python2 15.8 4.0 11.9 7.2
lenny _ _ dash 0.4 0.4 0.0 1.7
lenny _ _ bash 0.8 0.7 0.0 3.5
lenny _ _ osh_eval.stripped 1.2 1.1 0.0 4.3
lenny _ _ python2 6.9 3.4 3.4 7.3

fibonacci (integers)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
broome 200 44 python2 18.4 13.7 4.6 7.4
broome 200 44 dash 39.2 39.1 0.0 1.7
broome 200 44 bash 111.2 111.1 0.0 3.3
broome 200 44 osh_eval.stripped 174.3 134.7 39.6 102.6
lenny 200 44 python2 6.5 0.0 6.5 7.3
lenny 200 44 dash 17.1 17.1 0.0 1.7
lenny 200 44 bash 63.8 63.8 0.0 3.3
lenny 200 44 osh_eval.stripped 96.5 72.3 24.1 102.6

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.7 24.1 10.8 7.6
broome 10 configure osh_eval.stripped 158.2 136.6 27.9 65.2
broome 10 configure bash 168.4 160.5 14.0 3.6
lenny 10 configure python2 13.0 13.9 0.0 7.5
lenny 10 configure osh_eval.stripped 75.4 64.4 13.0 65.1
lenny 10 configure bash 79.1 76.1 5.1 3.7

parse_help (strings, real code)

host name arg1 runtime elapsed ms user ms sys ms max rss MB
broome ls bash 38.3 31.1 7.7 3.7
broome ls osh_eval.stripped 51.1 38.5 13.1 10.5
broome ls-short bash 16.7 9.5 7.9 3.7
broome ls-short osh_eval.stripped 18.6 11.4 7.5 5.2
broome mypy bash 41.7 36.7 5.5 3.7
broome mypy osh_eval.stripped 67.6 55.2 12.7 12.9
lenny ls bash 18.5 18.7 0.0 3.7
lenny ls osh_eval.stripped 37.3 29.5 8.1 10.6
lenny ls-short bash 6.2 6.4 0.0 3.8
lenny ls-short osh_eval.stripped 10.1 9.8 0.6 5.3
lenny mypy osh_eval.stripped 31.4 25.5 6.2 13.0
lenny mypy bash 30.0 25.9 4.4 3.7

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 31.3 27.2 4.6 7.2
broome bytes 200 osh_eval.stripped 299.4 230.9 68.9 162.4
broome bytes 200 bash 350.3 341.7 9.0 3.6
broome int 200 python2 61.6 60.4 1.6 7.1
broome int 200 osh_eval.stripped 300.5 224.5 76.2 151.1
broome int 200 bash 351.7 346.0 6.3 3.5
lenny bytes 200 python2 13.0 12.8 0.4 7.2
lenny bytes 200 osh_eval.stripped 219.9 160.0 60.2 174.1
lenny bytes 200 bash 231.2 231.1 0.3 3.5
lenny int 200 python2 27.9 28.2 0.0 7.3
lenny int 200 osh_eval.stripped 203.5 143.7 60.1 154.5
lenny int 200 bash 241.8 233.6 8.7 3.7

Interpreter and Host Details

shell label shell id
bash bash-9af8f89f
dash dash-9ff48631
oil-native osh_eval.stripped-cfec8796
python2 python2-e809d907
host label host id
broome broome-d80ab850
lenny lenny-6933449d

Details

host name task name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
broome bubble_sort bytes 200 python2 31.3 27.2 4.6 7.2
broome bubble_sort bytes 200 osh_eval.stripped 299.4 230.9 68.9 162.4
broome bubble_sort bytes 200 bash 350.3 341.7 9.0 3.6
broome bubble_sort int 200 python2 61.6 60.4 1.6 7.1
broome bubble_sort int 200 osh_eval.stripped 300.5 224.5 76.2 151.1
broome bubble_sort int 200 bash 351.7 346.0 6.3 3.5
broome fib 200 44 python2 18.4 13.7 4.6 7.4
broome fib 200 44 dash 39.2 39.1 0.0 1.7
broome fib 200 44 bash 111.2 111.1 0.0 3.3
broome fib 200 44 osh_eval.stripped 174.3 134.7 39.6 102.6
broome hello _ _ bash 2.1 0.0 2.0 3.2
broome hello _ _ dash 1.1 1.0 0.0 1.7
broome hello _ _ osh_eval.stripped 2.9 2.8 0.0 4.1
broome hello _ _ python2 15.8 4.0 11.9 7.2
broome palindrome bytes _ python2 31.8 25.9 6.4 7.6
broome palindrome bytes _ bash 250.9 241.6 9.8 3.4
broome palindrome bytes _ osh_eval.stripped 391.7 301.3 90.9 237.3
broome palindrome unicode _ python2 33.2 27.0 6.7 7.4
broome palindrome unicode _ bash 250.8 233.2 18.2 3.6
broome palindrome unicode _ osh_eval.stripped 393.7 274.3 119.8 237.3
broome parse_help ls _ bash 38.3 31.1 7.7 3.7
broome parse_help ls _ osh_eval.stripped 51.1 38.5 13.1 10.5
broome parse_help ls-short _ bash 16.7 9.5 7.9 3.7
broome parse_help ls-short _ osh_eval.stripped 18.6 11.4 7.5 5.2
broome parse_help mypy _ bash 41.7 36.7 5.5 3.7
broome parse_help mypy _ osh_eval.stripped 67.6 55.2 12.7 12.9
broome word_freq 10 configure python2 32.7 24.1 10.8 7.6
broome word_freq 10 configure osh_eval.stripped 158.2 136.6 27.9 65.2
broome word_freq 10 configure bash 168.4 160.5 14.0 3.6
lenny bubble_sort bytes 200 python2 13.0 12.8 0.4 7.2
lenny bubble_sort bytes 200 osh_eval.stripped 219.9 160.0 60.2 174.1
lenny bubble_sort bytes 200 bash 231.2 231.1 0.3 3.5
lenny bubble_sort int 200 python2 27.9 28.2 0.0 7.3
lenny bubble_sort int 200 osh_eval.stripped 203.5 143.7 60.1 154.5
lenny bubble_sort int 200 bash 241.8 233.6 8.7 3.7
lenny fib 200 44 python2 6.5 0.0 6.5 7.3
lenny fib 200 44 dash 17.1 17.1 0.0 1.7
lenny fib 200 44 bash 63.8 63.8 0.0 3.3
lenny fib 200 44 osh_eval.stripped 96.5 72.3 24.1 102.6
lenny hello _ _ dash 0.4 0.4 0.0 1.7
lenny hello _ _ bash 0.8 0.7 0.0 3.5
lenny hello _ _ osh_eval.stripped 1.2 1.1 0.0 4.3
lenny hello _ _ python2 6.9 3.4 3.4 7.3
lenny palindrome bytes _ python2 15.4 12.2 3.5 7.6
lenny palindrome bytes _ bash 133.2 119.0 14.5 3.6
lenny palindrome bytes _ osh_eval.stripped 258.6 163.1 95.8 237.3
lenny palindrome unicode _ python2 14.5 14.3 0.4 7.6
lenny palindrome unicode _ bash 163.8 160.1 4.0 3.6
lenny palindrome unicode _ osh_eval.stripped 256.6 184.7 72.0 237.3
lenny parse_help ls _ bash 18.5 18.7 0.0 3.7
lenny parse_help ls _ osh_eval.stripped 37.3 29.5 8.1 10.6
lenny parse_help ls-short _ bash 6.2 6.4 0.0 3.8
lenny parse_help ls-short _ osh_eval.stripped 10.1 9.8 0.6 5.3
lenny parse_help mypy _ osh_eval.stripped 31.4 25.5 6.2 13.0
lenny parse_help mypy _ bash 30.0 25.9 4.4 3.7
lenny word_freq 10 configure python2 13.0 13.9 0.0 7.5
lenny word_freq 10 configure osh_eval.stripped 75.4 64.4 13.0 65.1
lenny word_freq 10 configure bash 79.1 76.1 5.1 3.7