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 label elapsed ms user ms sys ms max rss MB
broome _ _ bash 2 0 2 3.2
broome _ _ dash 1 1 0 1.8
broome _ _ opt/osh 4 4 0 6.1
broome _ _ python2 16 12 4 7.4
lenny _ _ dash 1 0 1 1.7
lenny _ _ python2 7 0 7 7.5
lenny _ _ bash 1 1 0 3.4
lenny _ _ opt/osh 2 2 0 6.0

fibonacci (integers)

host name arg1 arg2 runtime label elapsed ms user ms sys ms max rss MB
broome 200 44 python2 17 17 0 7.5
broome 200 44 dash 35 35 0 1.7
broome 200 44 bash 107 107 0 3.3
broome 200 44 opt/osh 281 281 0 9.0
lenny 200 44 python2 8 4 4 7.5
lenny 200 44 dash 23 22 0 1.7
lenny 200 44 bash 81 81 0 3.3
lenny 200 44 opt/osh 402 402 0 8.8

word_freq (associative arrays / hash tables)

host name arg1 arg2 runtime label elapsed ms user ms sys ms max rss MB
broome 10 configure python2 35 36 2 7.6
broome 10 configure bash 143 137 13 3.6
broome 10 configure opt/osh 224 217 13 10.9
lenny 10 configure python2 42 40 5 7.5
lenny 10 configure bash 122 117 11 3.7
lenny 10 configure opt/osh 317 299 19 10.9

parse_help (strings, real code)

host name arg1 runtime label elapsed ms user ms sys ms max rss MB
broome ls bash 39 37 2 3.8
broome ls opt/osh 70 54 16 9.4
broome ls-short opt/osh 21 10 12 6.7
broome ls-short bash 17 18 0 3.7
broome mypy bash 45 32 13 3.7
broome mypy opt/osh 87 74 14 9.4
lenny ls bash 36 22 14 3.8
lenny ls opt/osh 47 33 14 9.8
lenny ls-short opt/osh 11 9 2 6.8
lenny ls-short bash 43 19 16 3.6
lenny mypy bash 31 31 0 3.8
lenny mypy opt/osh 64 55 10 9.8

bubble_sort (array of integers, arrays of strings)

host name arg1 arg2 runtime label elapsed ms user ms sys ms max rss MB
broome bytes 200 python2 32 30 3 7.2
broome bytes 200 bash 303 296 7 3.6
broome bytes 200 opt/osh 596 594 2 8.9
broome int 200 python2 54 46 8 7.3
broome int 200 bash 360 361 0 3.6
broome int 200 opt/osh 590 576 15 8.9
lenny bytes 200 python2 17 10 7 7.4
lenny bytes 200 bash 343 343 0 3.6
lenny bytes 200 opt/osh 757 753 4 8.8
lenny int 200 python2 40 30 11 7.3
lenny int 200 bash 618 601 13 3.6
lenny int 200 opt/osh 645 637 8 8.9

Interpreter and Host Details

shell label shell id
bash bash-9af8f89f
dash dash-9ff48631
opt/osh /home/andy/git/oilshell/oil/../benchmark-data/src/oils-for-unix-0.14.2/_bin/cxx-opt-sh/osh-7a6ca51a
python2 python2-e809d907
host label host id
broome broome-7a69aabc
lenny lenny-f88955fe

Details

host name task name arg1 arg2 runtime label elapsed ms user ms sys ms max rss MB
broome bubble_sort bytes 200 python2 32 30 3 7.2
broome bubble_sort bytes 200 bash 303 296 7 3.6
broome bubble_sort bytes 200 opt/osh 596 594 2 8.9
broome bubble_sort int 200 python2 54 46 8 7.3
broome bubble_sort int 200 bash 360 361 0 3.6
broome bubble_sort int 200 opt/osh 590 576 15 8.9
broome fib 200 44 python2 17 17 0 7.5
broome fib 200 44 dash 35 35 0 1.7
broome fib 200 44 bash 107 107 0 3.3
broome fib 200 44 opt/osh 281 281 0 9.0
broome hello _ _ bash 2 0 2 3.2
broome hello _ _ dash 1 1 0 1.8
broome hello _ _ opt/osh 4 4 0 6.1
broome hello _ _ python2 16 12 4 7.4
broome palindrome bytes _ python2 35 30 6 7.5
broome palindrome bytes _ bash 238 217 22 3.6
broome palindrome bytes _ opt/osh 751 719 32 9.4
broome palindrome unicode _ python2 36 31 6 7.6
broome palindrome unicode _ bash 266 258 9 3.6
broome palindrome unicode _ opt/osh 672 614 59 9.1
broome parse_help ls _ bash 39 37 2 3.8
broome parse_help ls _ opt/osh 70 54 16 9.4
broome parse_help ls-short _ opt/osh 21 10 12 6.7
broome parse_help ls-short _ bash 17 18 0 3.7
broome parse_help mypy _ bash 45 32 13 3.7
broome parse_help mypy _ opt/osh 87 74 14 9.4
broome word_freq 10 configure python2 35 36 2 7.6
broome word_freq 10 configure bash 143 137 13 3.6
broome word_freq 10 configure opt/osh 224 217 13 10.9
lenny bubble_sort bytes 200 python2 17 10 7 7.4
lenny bubble_sort bytes 200 bash 343 343 0 3.6
lenny bubble_sort bytes 200 opt/osh 757 753 4 8.8
lenny bubble_sort int 200 python2 40 30 11 7.3
lenny bubble_sort int 200 bash 618 601 13 3.6
lenny bubble_sort int 200 opt/osh 645 637 8 8.9
lenny fib 200 44 python2 8 4 4 7.5
lenny fib 200 44 dash 23 22 0 1.7
lenny fib 200 44 bash 81 81 0 3.3
lenny fib 200 44 opt/osh 402 402 0 8.8
lenny hello _ _ dash 1 0 1 1.7
lenny hello _ _ python2 7 0 7 7.5
lenny hello _ _ bash 1 1 0 3.4
lenny hello _ _ opt/osh 2 2 0 6.0
lenny palindrome bytes _ python2 18 18 0 7.5
lenny palindrome bytes _ bash 188 176 12 3.7
lenny palindrome bytes _ opt/osh 683 674 10 9.4
lenny palindrome unicode _ python2 17 16 2 7.5
lenny palindrome unicode _ bash 212 195 17 3.7
lenny palindrome unicode _ opt/osh 684 669 12 9.3
lenny parse_help ls _ bash 36 22 14 3.8
lenny parse_help ls _ opt/osh 47 33 14 9.8
lenny parse_help ls-short _ opt/osh 11 9 2 6.8
lenny parse_help ls-short _ bash 43 19 16 3.6
lenny parse_help mypy _ bash 31 31 0 3.8
lenny parse_help mypy _ opt/osh 64 55 10 9.8
lenny word_freq 10 configure python2 42 40 5 7.5
lenny word_freq 10 configure bash 122 117 11 3.7
lenny word_freq 10 configure opt/osh 317 299 19 10.9