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.4
broome _ _ opt/osh 4 0 4 4.9
broome _ _ dash 1 1 0 1.7
broome _ _ python2 17 13 4 7.3
lenny _ _ dash 0 0 0 1.7
lenny _ _ bash 1 1 0 3.4
lenny _ _ opt/osh 2 2 0 5.0
lenny _ _ python2 6 6 0 7.4

fibonacci (integers)

host name arg1 arg2 runtime label elapsed ms user ms sys ms max rss MB
broome 200 44 python2 18 9 9 7.3
broome 200 44 dash 41 38 4 1.7
broome 200 44 bash 109 105 4 3.3
broome 200 44 opt/osh 353 341 12 27.8
lenny 200 44 python2 7 3 3 7.5
lenny 200 44 dash 18 18 0 1.7
lenny 200 44 bash 61 61 0 3.5
lenny 200 44 opt/osh 300 292 8 27.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 34 26 10 7.3
broome 10 configure bash 139 126 19 3.7
broome 10 configure opt/osh 322 311 18 44.1
lenny 10 configure python2 14 9 6 7.6
lenny 10 configure bash 96 94 4 3.7
lenny 10 configure opt/osh 245 225 23 43.1

parse_help (strings, real code)

host name arg1 runtime label elapsed ms user ms sys ms max rss MB
broome ls opt/osh 74 32 42 23.4
broome ls bash 38 36 2 3.8
broome ls-short opt/osh 21 15 6 6.5
broome ls-short bash 17 16 2 3.7
broome mypy bash 45 36 10 3.9
broome mypy opt/osh 93 72 21 23.9
lenny ls bash 19 18 2 3.7
lenny ls opt/osh 42 30 13 23.5
lenny ls-short bash 7 5 2 3.8
lenny ls-short opt/osh 9 9 0 6.8
lenny mypy bash 25 17 8 3.7
lenny mypy opt/osh 43 35 8 24.0

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 36 30 6 7.3
broome bytes 200 bash 365 359 7 3.5
broome bytes 200 opt/osh 856 839 17 35.1
broome int 200 python2 55 55 1 7.3
broome int 200 bash 376 366 11 3.6
broome int 200 opt/osh 863 838 26 39.1
lenny bytes 200 python2 14 11 3 7.4
lenny bytes 200 bash 259 259 0 3.6
lenny bytes 200 opt/osh 899 872 4 34.9
lenny int 200 python2 30 25 5 7.5
lenny int 200 bash 259 259 0 3.6
lenny int 200 opt/osh 800 785 16 39.1

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.0/_bin/cxx-opt-sh/osh-f7cd6d82
python2 python2-e809d907
host label host id
broome broome-7a69aabc
lenny lenny-76afa3e0

Details

host name task name arg1 arg2 runtime label elapsed ms user ms sys ms max rss MB
broome bubble_sort bytes 200 python2 36 30 6 7.3
broome bubble_sort bytes 200 bash 365 359 7 3.5
broome bubble_sort bytes 200 opt/osh 856 839 17 35.1
broome bubble_sort int 200 python2 55 55 1 7.3
broome bubble_sort int 200 bash 376 366 11 3.6
broome bubble_sort int 200 opt/osh 863 838 26 39.1
broome fib 200 44 python2 18 9 9 7.3
broome fib 200 44 dash 41 38 4 1.7
broome fib 200 44 bash 109 105 4 3.3
broome fib 200 44 opt/osh 353 341 12 27.8
broome hello _ _ bash 2 0 2 3.4
broome hello _ _ opt/osh 4 0 4 4.9
broome hello _ _ dash 1 1 0 1.7
broome hello _ _ python2 17 13 4 7.3
broome palindrome bytes _ python2 34 34 0 7.5
broome palindrome bytes _ bash 245 226 19 3.6
broome palindrome bytes _ opt/osh 784 748 37 22.7
broome palindrome unicode _ python2 35 30 5 7.7
broome palindrome unicode _ bash 253 244 9 3.6
broome palindrome unicode _ opt/osh 781 733 48 22.6
broome parse_help ls _ opt/osh 74 32 42 23.4
broome parse_help ls _ bash 38 36 2 3.8
broome parse_help ls-short _ opt/osh 21 15 6 6.5
broome parse_help ls-short _ bash 17 16 2 3.7
broome parse_help mypy _ bash 45 36 10 3.9
broome parse_help mypy _ opt/osh 93 72 21 23.9
broome word_freq 10 configure python2 34 26 10 7.3
broome word_freq 10 configure bash 139 126 19 3.7
broome word_freq 10 configure opt/osh 322 311 18 44.1
lenny bubble_sort bytes 200 python2 14 11 3 7.4
lenny bubble_sort bytes 200 bash 259 259 0 3.6
lenny bubble_sort bytes 200 opt/osh 899 872 4 34.9
lenny bubble_sort int 200 python2 30 25 5 7.5
lenny bubble_sort int 200 bash 259 259 0 3.6
lenny bubble_sort int 200 opt/osh 800 785 16 39.1
lenny fib 200 44 python2 7 3 3 7.5
lenny fib 200 44 dash 18 18 0 1.7
lenny fib 200 44 bash 61 61 0 3.5
lenny fib 200 44 opt/osh 300 292 8 27.8
lenny hello _ _ dash 0 0 0 1.7
lenny hello _ _ bash 1 1 0 3.4
lenny hello _ _ opt/osh 2 2 0 5.0
lenny hello _ _ python2 6 6 0 7.4
lenny palindrome bytes _ python2 14 14 0 7.4
lenny palindrome bytes _ bash 153 146 8 3.6
lenny palindrome bytes _ opt/osh 644 616 28 22.7
lenny palindrome unicode _ python2 15 10 5 7.7
lenny palindrome unicode _ bash 170 158 12 3.7
lenny palindrome unicode _ opt/osh 689 657 32 22.4
lenny parse_help ls _ bash 19 18 2 3.7
lenny parse_help ls _ opt/osh 42 30 13 23.5
lenny parse_help ls-short _ bash 7 5 2 3.8
lenny parse_help ls-short _ opt/osh 9 9 0 6.8
lenny parse_help mypy _ bash 25 17 8 3.7
lenny parse_help mypy _ opt/osh 43 35 8 24.0
lenny word_freq 10 configure python2 14 9 6 7.6
lenny word_freq 10 configure bash 96 94 4 3.7
lenny word_freq 10 configure opt/osh 245 225 23 43.1