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 _ _ dash 1 1 0 1.7
broome _ _ bash 2 2 0 3.4
broome _ _ opt/osh 6 3 3 6.5
broome _ _ python2 17 13 4 7.2
lenny _ _ bash 1 0 1 3.3
lenny _ _ python2 6 0 6 7.4
lenny _ _ dash 0 0 0 1.7
lenny _ _ opt/osh 2 2 0 6.5

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.3
broome 200 44 dash 40 40 0 1.8
broome 200 44 bash 109 109 0 3.3
broome 200 44 opt/osh 234 230 4 8.4
lenny 200 44 python2 7 7 0 7.5
lenny 200 44 dash 19 19 0 1.7
lenny 200 44 bash 67 67 0 3.4
lenny 200 44 opt/osh 189 185 4 8.4

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 24 13 7.6
broome 10 configure bash 175 159 23 3.7
broome 10 configure opt/osh 228 206 28 9.5
lenny 10 configure python2 14 15 0 7.5
lenny 10 configure bash 98 92 8 3.6
lenny 10 configure opt/osh 142 138 7 9.4

parse_help (strings, real code)

host name arg1 runtime label elapsed ms user ms sys ms max rss MB
broome ls bash 37 30 7 3.8
broome ls opt/osh 66 61 5 8.8
broome ls-short bash 17 11 7 3.7
broome ls-short opt/osh 23 17 6 7.2
broome mypy bash 45 36 10 3.8
broome mypy opt/osh 80 69 12 8.9
lenny ls bash 16 13 3 3.8
lenny ls opt/osh 27 21 7 9.0
lenny ls-short opt/osh 8 5 3 7.1
lenny ls-short bash 6 6 0 3.6
lenny mypy bash 20 20 0 3.8
lenny mypy opt/osh 43 31 12 9.1

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 34 27 8 7.3
broome bytes 200 bash 374 369 6 3.7
broome bytes 200 opt/osh 529 521 8 8.4
broome int 200 python2 64 61 4 7.2
broome int 200 bash 343 343 1 3.6
broome int 200 opt/osh 533 515 19 8.4
lenny bytes 200 python2 14 12 2 7.4
lenny bytes 200 bash 306 306 0 3.7
lenny bytes 200 opt/osh 564 562 0 8.4
lenny int 200 python2 30 30 0 7.4
lenny int 200 bash 262 260 2 3.7
lenny int 200 opt/osh 530 526 4 8.3

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.15.0/_bin/cxx-opt-sh/osh-3c290bd3
python2 python2-e809d907
host label host id
broome broome-7a69aabc
lenny lenny-5570ba51

Details

host name task name arg1 arg2 runtime label elapsed ms user ms sys ms max rss MB
broome bubble_sort bytes 200 python2 34 27 8 7.3
broome bubble_sort bytes 200 bash 374 369 6 3.7
broome bubble_sort bytes 200 opt/osh 529 521 8 8.4
broome bubble_sort int 200 python2 64 61 4 7.2
broome bubble_sort int 200 bash 343 343 1 3.6
broome bubble_sort int 200 opt/osh 533 515 19 8.4
broome fib 200 44 python2 17 17 0 7.3
broome fib 200 44 dash 40 40 0 1.8
broome fib 200 44 bash 109 109 0 3.3
broome fib 200 44 opt/osh 234 230 4 8.4
broome hello _ _ dash 1 1 0 1.7
broome hello _ _ bash 2 2 0 3.4
broome hello _ _ opt/osh 6 3 3 6.5
broome hello _ _ python2 17 13 4 7.2
broome palindrome bytes _ python2 36 31 5 7.5
broome palindrome bytes _ bash 242 237 6 3.6
broome palindrome bytes _ opt/osh 532 515 17 8.5
broome palindrome unicode _ python2 38 34 5 7.4
broome palindrome unicode _ bash 265 236 30 3.7
broome palindrome unicode _ opt/osh 524 503 21 8.6
broome parse_help ls _ bash 37 30 7 3.8
broome parse_help ls _ opt/osh 66 61 5 8.8
broome parse_help ls-short _ bash 17 11 7 3.7
broome parse_help ls-short _ opt/osh 23 17 6 7.2
broome parse_help mypy _ bash 45 36 10 3.8
broome parse_help mypy _ opt/osh 80 69 12 8.9
broome word_freq 10 configure python2 35 24 13 7.6
broome word_freq 10 configure bash 175 159 23 3.7
broome word_freq 10 configure opt/osh 228 206 28 9.5
lenny bubble_sort bytes 200 python2 14 12 2 7.4
lenny bubble_sort bytes 200 bash 306 306 0 3.7
lenny bubble_sort bytes 200 opt/osh 564 562 0 8.4
lenny bubble_sort int 200 python2 30 30 0 7.4
lenny bubble_sort int 200 bash 262 260 2 3.7
lenny bubble_sort int 200 opt/osh 530 526 4 8.3
lenny fib 200 44 python2 7 7 0 7.5
lenny fib 200 44 dash 19 19 0 1.7
lenny fib 200 44 bash 67 67 0 3.4
lenny fib 200 44 opt/osh 189 185 4 8.4
lenny hello _ _ bash 1 0 1 3.3
lenny hello _ _ python2 6 0 6 7.4
lenny hello _ _ dash 0 0 0 1.7
lenny hello _ _ opt/osh 2 2 0 6.5
lenny palindrome bytes _ python2 14 9 5 7.6
lenny palindrome bytes _ bash 159 147 12 3.5
lenny palindrome bytes _ opt/osh 452 445 8 8.7
lenny palindrome unicode _ python2 16 16 0 7.6
lenny palindrome unicode _ bash 196 181 16 3.6
lenny palindrome unicode _ opt/osh 419 412 8 8.6
lenny parse_help ls _ bash 16 13 3 3.8
lenny parse_help ls _ opt/osh 27 21 7 9.0
lenny parse_help ls-short _ opt/osh 8 5 3 7.1
lenny parse_help ls-short _ bash 6 6 0 3.6
lenny parse_help mypy _ bash 20 20 0 3.8
lenny parse_help mypy _ opt/osh 43 31 12 9.1
lenny word_freq 10 configure python2 14 15 0 7.5
lenny word_freq 10 configure bash 98 92 8 3.6
lenny word_freq 10 configure opt/osh 142 138 7 9.4