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 1 1 0 1.8
hoover _ _ bash 1 1 0 3.0
hoover _ _ opt/osh 2 2 0 6.5
hoover _ _ python2 5 5 0 6.2
lenny _ _ dash 0 0 0 1.7
lenny _ _ bash 1 1 0 3.0
lenny _ _ opt/osh 2 2 0 6.3
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 6 0 6.2
hoover 200 44 dash 16 16 0 1.7
hoover 200 44 opt/osh 45 41 4 8.2
hoover 200 44 bash 48 48 0 2.9
lenny 200 44 python2 7 4 4 7.2
lenny 200 44 dash 20 16 4 1.8
lenny 200 44 bash 62 62 0 2.9
lenny 200 44 opt/osh 83 83 0 7.8

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 12 0 6.3
hoover 10 configure opt/osh 48 48 1 9.9
hoover 10 configure bash 56 57 0 3.3
lenny 10 configure python2 14 15 0 7.3
lenny 10 configure opt/osh 91 84 10 9.4
lenny 10 configure bash 88 87 4 3.3

parse_help (strings, real code)

host name arg1 runtime label elapsed ms user ms sys ms max rss MB
hoover ls bash 10 10 0 3.4
hoover ls opt/osh 16 11 5 8.8
hoover ls-short opt/osh 6 6 0 7.2
hoover ls-short bash 9 6 0 3.3
hoover mypy bash 11 8 2 3.3
hoover mypy opt/osh 22 17 4 8.8
lenny ls bash 22 22 1 3.3
lenny ls opt/osh 37 28 9 8.3
lenny ls-short bash 10 9 1 3.3
lenny ls-short opt/osh 11 10 2 6.8
lenny mypy bash 21 17 4 3.2
lenny mypy opt/osh 31 30 0 8.4

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 11 11 0 6.3
hoover bytes 200 opt/osh 135 135 0 8.1
hoover bytes 200 bash 179 179 0 3.3
hoover int 200 python2 28 28 0 6.2
hoover int 200 opt/osh 126 125 0 8.1
hoover int 200 bash 152 145 7 3.4
lenny bytes 200 python2 14 11 3 7.0
lenny bytes 200 bash 263 260 3 3.2
lenny bytes 200 opt/osh 266 266 0 7.6
lenny int 200 python2 31 23 8 6.9
lenny int 200 bash 266 262 4 3.3
lenny int 200 opt/osh 270 271 0 7.6

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.20.0/_bin/cxx-opt-sh/osh-dfba53e5
python2 python2-e809d907
bash bash-0d42a1ee
dash dash-d40a0412
python2 python2-e2e2dfb7
host label host id
lenny lenny-098a8e52
hoover hoover-94601b4f

Details

host name task name arg1 arg2 runtime label elapsed ms user ms sys ms max rss MB
hoover bubble_sort bytes 200 python2 11 11 0 6.3
hoover bubble_sort bytes 200 opt/osh 135 135 0 8.1
hoover bubble_sort bytes 200 bash 179 179 0 3.3
hoover bubble_sort int 200 python2 28 28 0 6.2
hoover bubble_sort int 200 opt/osh 126 125 0 8.1
hoover bubble_sort int 200 bash 152 145 7 3.4
hoover fib 200 44 python2 6 6 0 6.2
hoover fib 200 44 dash 16 16 0 1.7
hoover fib 200 44 opt/osh 45 41 4 8.2
hoover fib 200 44 bash 48 48 0 2.9
hoover hello _ _ dash 1 1 0 1.8
hoover hello _ _ bash 1 1 0 3.0
hoover hello _ _ opt/osh 2 2 0 6.5
hoover hello _ _ python2 5 5 0 6.2
hoover palindrome bytes _ python2 13 10 2 6.2
hoover palindrome bytes _ bash 101 86 14 3.3
hoover palindrome bytes _ opt/osh 132 132 0 8.6
hoover palindrome unicode _ python2 14 7 7 6.1
hoover palindrome unicode _ bash 96 92 4 3.3
hoover palindrome unicode _ opt/osh 131 120 10 8.7
hoover parse_help ls _ bash 10 10 0 3.4
hoover parse_help ls _ opt/osh 16 11 5 8.8
hoover parse_help ls-short _ opt/osh 6 6 0 7.2
hoover parse_help ls-short _ bash 9 6 0 3.3
hoover parse_help mypy _ bash 11 8 2 3.3
hoover parse_help mypy _ opt/osh 22 17 4 8.8
hoover word_freq 10 configure python2 12 12 0 6.3
hoover word_freq 10 configure opt/osh 48 48 1 9.9
hoover word_freq 10 configure bash 56 57 0 3.3
lenny bubble_sort bytes 200 python2 14 11 3 7.0
lenny bubble_sort bytes 200 bash 263 260 3 3.2
lenny bubble_sort bytes 200 opt/osh 266 266 0 7.6
lenny bubble_sort int 200 python2 31 23 8 6.9
lenny bubble_sort int 200 bash 266 262 4 3.3
lenny bubble_sort int 200 opt/osh 270 271 0 7.6
lenny fib 200 44 python2 7 4 4 7.2
lenny fib 200 44 dash 20 16 4 1.8
lenny fib 200 44 bash 62 62 0 2.9
lenny fib 200 44 opt/osh 83 83 0 7.8
lenny hello _ _ dash 0 0 0 1.7
lenny hello _ _ bash 1 1 0 3.0
lenny hello _ _ opt/osh 2 2 0 6.3
lenny hello _ _ python2 6 6 0 7.0
lenny palindrome bytes _ python2 16 16 0 7.1
lenny palindrome bytes _ bash 166 164 2 3.2
lenny palindrome bytes _ opt/osh 257 241 16 8.1
lenny palindrome unicode _ python2 16 16 0 7.0
lenny palindrome unicode _ bash 165 154 12 3.2
lenny palindrome unicode _ opt/osh 255 235 20 8.1
lenny parse_help ls _ bash 22 22 1 3.3
lenny parse_help ls _ opt/osh 37 28 9 8.3
lenny parse_help ls-short _ bash 10 9 1 3.3
lenny parse_help ls-short _ opt/osh 11 10 2 6.8
lenny parse_help mypy _ bash 21 17 4 3.2
lenny parse_help mypy _ opt/osh 31 30 0 8.4
lenny word_freq 10 configure python2 14 15 0 7.3
lenny word_freq 10 configure opt/osh 91 84 10 9.4
lenny word_freq 10 configure bash 88 87 4 3.3

Stdout Files

host name task name arg1 arg2 runtime label stdout md5sum
lenny hello _ _ bash b1946ac92492d2347c6235b4d2611184
lenny hello _ _ dash b1946ac92492d2347c6235b4d2611184
lenny hello _ _ opt/osh b1946ac92492d2347c6235b4d2611184
lenny hello _ _ python2 b1946ac92492d2347c6235b4d2611184
hoover hello _ _ bash b1946ac92492d2347c6235b4d2611184
hoover hello _ _ dash b1946ac92492d2347c6235b4d2611184
hoover hello _ _ opt/osh b1946ac92492d2347c6235b4d2611184
hoover hello _ _ python2 b1946ac92492d2347c6235b4d2611184
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 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 word_freq 10 configure bash 71ee35ef5ae8cdd70ac58e77575969e2
lenny word_freq 10 configure opt/osh 71ee35ef5ae8cdd70ac58e77575969e2
lenny word_freq 10 configure python2 71ee35ef5ae8cdd70ac58e77575969e2
hoover word_freq 10 configure bash 71ee35ef5ae8cdd70ac58e77575969e2
hoover word_freq 10 configure opt/osh 71ee35ef5ae8cdd70ac58e77575969e2
hoover word_freq 10 configure python2 71ee35ef5ae8cdd70ac58e77575969e2
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 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 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 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 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
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