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
hoover _ _ dash 0 0 0 1.7
hoover _ _ python2 5 0 5 6.1
hoover _ _ bash 1 1 0 3.1
hoover _ _ opt/osh 2 2 0 6.3
lenny _ _ opt/osh 2 0 2 5.9
lenny _ _ dash 0 0 0 1.7
lenny _ _ bash 1 1 0 2.8
lenny _ _ python2 6 6 0 7.0

fibonacci (integers)

host name arg1 arg2 runtime label elapsed ms user ms sys ms max rss MB
hoover 200 44 python2 6 5 0 6.3
hoover 200 44 dash 15 14 0 1.7
hoover 200 44 bash 46 45 0 3.0
hoover 200 44 opt/osh 87 87 0 7.9
lenny 200 44 python2 7 4 4 7.1
lenny 200 44 dash 20 19 0 1.7
lenny 200 44 bash 63 63 0 2.9
lenny 200 44 opt/osh 133 133 0 7.7

word_freq (associative arrays / hash tables)

host name arg1 arg2 runtime label elapsed ms user ms sys ms max rss MB
hoover 10 configure python2 12 6 6 6.3
hoover 10 configure bash 58 57 2 3.3
hoover 10 configure opt/osh 78 80 0 9.5
lenny 10 configure python2 14 15 0 7.2
lenny 10 configure bash 87 87 3 3.2
lenny 10 configure opt/osh 131 129 4 9.2

parse_help (strings, real code)

host name arg1 runtime label elapsed ms user ms sys ms max rss MB
hoover ls bash 9 7 2 3.3
hoover ls opt/osh 17 12 4 8.4
hoover ls-short bash 5 4 0 3.4
hoover ls-short opt/osh 7 7 0 6.9
hoover mypy bash 11 11 0 3.4
hoover mypy opt/osh 20 16 3 8.5
lenny ls bash 13 13 0 3.2
lenny ls opt/osh 23 19 4 8.1
lenny ls-short opt/osh 8 5 4 6.6
lenny ls-short bash 6 6 0 3.2
lenny mypy bash 17 13 4 3.2
lenny mypy opt/osh 29 29 0 8.1

bubble_sort (array of integers, arrays of strings)

host name arg1 arg2 runtime label elapsed ms user ms sys ms max rss MB
hoover bytes 200 python2 12 10 2 6.2
hoover bytes 200 bash 163 160 3 3.2
hoover bytes 200 opt/osh 286 277 8 7.8
hoover int 200 python2 29 29 0 6.1
hoover int 200 bash 159 159 0 3.3
hoover int 200 opt/osh 290 276 8 7.8
lenny bytes 200 python2 14 15 0 7.0
lenny bytes 200 bash 274 274 0 3.2
lenny bytes 200 opt/osh 470 471 0 7.4
lenny int 200 python2 29 30 0 7.1
lenny int 200 bash 266 263 3 3.2
lenny int 200 opt/osh 468 464 4 7.4

Interpreter and Host Details

shell label shell id
bash bash-0d42a1ee
dash dash-d40a0412
opt/osh /home/andy/git/oilshell/oil/../benchmark-data/src/oils-for-unix-0.18.0/_bin/cxx-opt-sh/osh-4dab5cf8
python2 python2-e2e2dfb7
bash bash-9af8f89f
dash dash-9ff48631
python2 python2-e809d907
host label host id
hoover hoover-94601b4f
lenny lenny-098a8e52

Details

host name task name arg1 arg2 runtime label elapsed ms user ms sys ms max rss MB
hoover bubble_sort bytes 200 python2 12 10 2 6.2
hoover bubble_sort bytes 200 bash 163 160 3 3.2
hoover bubble_sort bytes 200 opt/osh 286 277 8 7.8
hoover bubble_sort int 200 python2 29 29 0 6.1
hoover bubble_sort int 200 bash 159 159 0 3.3
hoover bubble_sort int 200 opt/osh 290 276 8 7.8
hoover fib 200 44 python2 6 5 0 6.3
hoover fib 200 44 dash 15 14 0 1.7
hoover fib 200 44 bash 46 45 0 3.0
hoover fib 200 44 opt/osh 87 87 0 7.9
hoover hello _ _ dash 0 0 0 1.7
hoover hello _ _ python2 5 0 5 6.1
hoover hello _ _ bash 1 1 0 3.1
hoover hello _ _ opt/osh 2 2 0 6.3
hoover palindrome bytes _ python2 11 7 4 6.2
hoover palindrome bytes _ bash 100 92 8 3.2
hoover palindrome bytes _ opt/osh 178 167 10 8.2
hoover palindrome unicode _ python2 14 8 5 6.1
hoover palindrome unicode _ bash 97 91 6 3.3
hoover palindrome unicode _ opt/osh 177 154 24 8.2
hoover parse_help ls _ bash 9 7 2 3.3
hoover parse_help ls _ opt/osh 17 12 4 8.4
hoover parse_help ls-short _ bash 5 4 0 3.4
hoover parse_help ls-short _ opt/osh 7 7 0 6.9
hoover parse_help mypy _ bash 11 11 0 3.4
hoover parse_help mypy _ opt/osh 20 16 3 8.5
hoover word_freq 10 configure python2 12 6 6 6.3
hoover word_freq 10 configure bash 58 57 2 3.3
hoover word_freq 10 configure opt/osh 78 80 0 9.5
lenny bubble_sort bytes 200 python2 14 15 0 7.0
lenny bubble_sort bytes 200 bash 274 274 0 3.2
lenny bubble_sort bytes 200 opt/osh 470 471 0 7.4
lenny bubble_sort int 200 python2 29 30 0 7.1
lenny bubble_sort int 200 bash 266 263 3 3.2
lenny bubble_sort int 200 opt/osh 468 464 4 7.4
lenny fib 200 44 python2 7 4 4 7.1
lenny fib 200 44 dash 20 19 0 1.7
lenny fib 200 44 bash 63 63 0 2.9
lenny fib 200 44 opt/osh 133 133 0 7.7
lenny hello _ _ opt/osh 2 0 2 5.9
lenny hello _ _ dash 0 0 0 1.7
lenny hello _ _ bash 1 1 0 2.8
lenny hello _ _ python2 6 6 0 7.0
lenny palindrome bytes _ python2 16 15 2 7.0
lenny palindrome bytes _ bash 161 150 12 3.2
lenny palindrome bytes _ opt/osh 352 321 32 7.8
lenny palindrome unicode _ python2 15 12 3 7.3
lenny palindrome unicode _ bash 165 157 8 3.1
lenny palindrome unicode _ opt/osh 303 291 12 7.8
lenny parse_help ls _ bash 13 13 0 3.2
lenny parse_help ls _ opt/osh 23 19 4 8.1
lenny parse_help ls-short _ opt/osh 8 5 4 6.6
lenny parse_help ls-short _ bash 6 6 0 3.2
lenny parse_help mypy _ bash 17 13 4 3.2
lenny parse_help mypy _ opt/osh 29 29 0 8.1
lenny word_freq 10 configure python2 14 15 0 7.2
lenny word_freq 10 configure bash 87 87 3 3.2
lenny word_freq 10 configure opt/osh 131 129 4 9.2

Stdout Files

host name task name arg1 arg2 runtime label stdout md5sum
hoover hello _ _ bash b1946ac92492d2347c6235b4d2611184
hoover hello _ _ dash b1946ac92492d2347c6235b4d2611184
hoover hello _ _ opt/osh b1946ac92492d2347c6235b4d2611184
hoover hello _ _ python2 b1946ac92492d2347c6235b4d2611184
lenny hello _ _ bash b1946ac92492d2347c6235b4d2611184
lenny hello _ _ dash b1946ac92492d2347c6235b4d2611184
lenny hello _ _ opt/osh b1946ac92492d2347c6235b4d2611184
lenny hello _ _ python2 b1946ac92492d2347c6235b4d2611184
hoover fib 200 44 bash ddce9d5262dc4820e4e538b12a61f9d4
hoover fib 200 44 dash ddce9d5262dc4820e4e538b12a61f9d4
hoover fib 200 44 opt/osh ddce9d5262dc4820e4e538b12a61f9d4
hoover fib 200 44 python2 ddce9d5262dc4820e4e538b12a61f9d4
lenny fib 200 44 bash ddce9d5262dc4820e4e538b12a61f9d4
lenny fib 200 44 dash ddce9d5262dc4820e4e538b12a61f9d4
lenny fib 200 44 opt/osh ddce9d5262dc4820e4e538b12a61f9d4
lenny fib 200 44 python2 ddce9d5262dc4820e4e538b12a61f9d4
hoover word_freq 10 configure bash 1f7a432c824e99864b8af90654d70627
hoover word_freq 10 configure opt/osh 1f7a432c824e99864b8af90654d70627
hoover word_freq 10 configure python2 1f7a432c824e99864b8af90654d70627
lenny word_freq 10 configure bash 1f7a432c824e99864b8af90654d70627
lenny word_freq 10 configure opt/osh 1f7a432c824e99864b8af90654d70627
lenny word_freq 10 configure python2 1f7a432c824e99864b8af90654d70627
hoover parse_help ls-short _ bash 1afe5984e4dfa04a5c2084811ccc370b
hoover parse_help ls _ bash 2d4cfb983a4bde9516c34bef6bfe656b
hoover parse_help mypy _ bash 3307e41430578aa391c4dc7b9923b6c1
hoover parse_help ls-short _ opt/osh 1afe5984e4dfa04a5c2084811ccc370b
hoover parse_help ls _ opt/osh 2d4cfb983a4bde9516c34bef6bfe656b
hoover parse_help mypy _ opt/osh 3307e41430578aa391c4dc7b9923b6c1
lenny parse_help ls-short _ bash 1afe5984e4dfa04a5c2084811ccc370b
lenny parse_help ls _ bash 2d4cfb983a4bde9516c34bef6bfe656b
lenny parse_help mypy _ bash 3307e41430578aa391c4dc7b9923b6c1
lenny parse_help ls-short _ opt/osh 1afe5984e4dfa04a5c2084811ccc370b
lenny parse_help ls _ opt/osh 2d4cfb983a4bde9516c34bef6bfe656b
lenny parse_help mypy _ opt/osh 3307e41430578aa391c4dc7b9923b6c1
hoover bubble_sort int 200 bash 304f7b9574921ad21a2bc72f200483d7
hoover bubble_sort bytes 200 bash 85509743b2f5735b32a108dbba770ee4
hoover bubble_sort int 200 opt/osh 304f7b9574921ad21a2bc72f200483d7
hoover bubble_sort bytes 200 opt/osh 85509743b2f5735b32a108dbba770ee4
hoover bubble_sort int 200 python2 304f7b9574921ad21a2bc72f200483d7
hoover bubble_sort bytes 200 python2 85509743b2f5735b32a108dbba770ee4
lenny bubble_sort int 200 bash 304f7b9574921ad21a2bc72f200483d7
lenny bubble_sort bytes 200 bash 85509743b2f5735b32a108dbba770ee4
lenny bubble_sort int 200 opt/osh 304f7b9574921ad21a2bc72f200483d7
lenny bubble_sort bytes 200 opt/osh 85509743b2f5735b32a108dbba770ee4
lenny bubble_sort int 200 python2 304f7b9574921ad21a2bc72f200483d7
lenny bubble_sort bytes 200 python2 85509743b2f5735b32a108dbba770ee4
hoover palindrome unicode _ bash ef69a4a6287351d77e6959beca205e15
hoover palindrome bytes _ bash ef69a4a6287351d77e6959beca205e15
hoover palindrome unicode _ opt/osh c716827d1eac3e2e0ff0d7d4356e842c
hoover palindrome bytes _ opt/osh c716827d1eac3e2e0ff0d7d4356e842c
hoover palindrome unicode _ python2 c716827d1eac3e2e0ff0d7d4356e842c
hoover palindrome bytes _ python2 ef69a4a6287351d77e6959beca205e15
lenny palindrome unicode _ bash ef69a4a6287351d77e6959beca205e15
lenny palindrome bytes _ bash ef69a4a6287351d77e6959beca205e15
lenny palindrome unicode _ opt/osh c716827d1eac3e2e0ff0d7d4356e842c
lenny palindrome bytes _ opt/osh c716827d1eac3e2e0ff0d7d4356e842c
lenny palindrome unicode _ python2 c716827d1eac3e2e0ff0d7d4356e842c
lenny palindrome bytes _ python2 ef69a4a6287351d77e6959beca205e15