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 elapsed ms user ms sys ms max rss MB
broome _ _ osh_eval.opt.stripped 3.0 0.0 2.9 4.2
broome _ _ dash 1.1 1.0 0.0 1.8
broome _ _ bash 2.0 2.0 0.0 3.4
broome _ _ python 17.0 17.0 0.0 7.2
spring _ _ bash 2.1 0.0 2.0 3.4
spring _ _ dash 1.1 1.0 0.0 1.8
spring _ _ osh_eval.opt.stripped 2.8 2.7 0.0 4.2
spring _ _ python 15.9 15.9 0.0 7.3

fibonacci (integers)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
broome 200 44 python 16.8 10.1 6.7 7.4
broome 200 44 dash 38.0 38.0 0.0 1.7
broome 200 44 bash 96.7 96.7 0.0 3.4
broome 200 44 osh_eval.opt.stripped 170.8 143.0 27.8 101.7
spring 200 44 python 17.6 14.0 3.5 7.3
spring 200 44 dash 37.0 37.0 0.0 1.7
spring 200 44 bash 110.1 110.1 0.0 3.3
spring 200 44 osh_eval.opt.stripped 172.8 113.9 58.9 101.5

word_freq (associative arrays / hash tables)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
broome 10 configure python 32.8 23.7 11.4 7.4
broome 10 configure osh_eval.opt.stripped 150.6 108.2 44.4 64.4
broome 10 configure bash 160.1 142.5 23.4 3.6
spring 10 configure python 30.2 27.8 4.5 7.5
spring 10 configure osh_eval.opt.stripped 151.1 116.3 36.9 64.5
spring 10 configure bash 159.5 137.3 28.1 3.7

parse_help (strings, real code)

host name arg1 runtime elapsed ms user ms sys ms max rss MB
broome ls bash 33.7 30.4 3.6 3.6
broome ls osh_eval.opt.stripped 39.4 39.7 0.0 10.7
broome ls-short bash 13.0 9.4 3.9 3.8
broome ls-short osh_eval.opt.stripped 14.0 14.3 0.0 5.3
broome mypy bash 39.9 36.8 3.3 3.8
broome mypy osh_eval.opt.stripped 53.3 45.6 8.0 12.8
spring ls osh_eval.opt.stripped 43.3 27.2 16.4 10.6
spring ls bash 30.8 31.0 0.0 3.8
spring ls-short osh_eval.opt.stripped 13.6 8.0 5.8 5.4
spring ls-short bash 13.0 9.4 3.9 3.6
spring mypy bash 41.1 36.7 4.8 3.8
spring mypy osh_eval.opt.stripped 49.7 38.8 11.1 13.2

bubble_sort (array of integers, arrays of strings)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
broome bytes 200 python 28.5 21.3 7.6 7.2
broome bytes 200 osh_eval.opt.stripped 381.8 286.3 95.9 170.1
broome bytes 200 bash 406.7 403.1 4.0 3.6
broome int 200 python 63.2 63.5 0.0 7.3
broome int 200 osh_eval.opt.stripped 371.4 307.6 64.2 153.5
broome int 200 bash 409.9 409.5 0.9 3.7
spring bytes 200 python 29.6 24.8 5.3 7.3
spring bytes 200 osh_eval.opt.stripped 320.5 253.1 67.7 155.2
spring bytes 200 bash 378.2 374.8 3.9 3.6
spring int 200 python 54.1 54.5 0.0 7.3
spring int 200 osh_eval.opt.stripped 323.7 282.3 41.8 146.0
spring int 200 bash 385.6 386.0 0.0 3.6

Interpreter and Host Details

shell label shell id
bash bash-9af8f89f
dash dash-9ff48631
oil-native osh_eval.opt.stripped-e36eda9a
python python-e809d907
host label host id
broome broome-d80ab850
spring spring-d80ab850

Details

host name task name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
broome bubble_sort bytes 200 python 28.5 21.3 7.6 7.2
broome bubble_sort bytes 200 osh_eval.opt.stripped 381.8 286.3 95.9 170.1
broome bubble_sort bytes 200 bash 406.7 403.1 4.0 3.6
broome bubble_sort int 200 python 63.2 63.5 0.0 7.3
broome bubble_sort int 200 osh_eval.opt.stripped 371.4 307.6 64.2 153.5
broome bubble_sort int 200 bash 409.9 409.5 0.9 3.7
broome fib 200 44 python 16.8 10.1 6.7 7.4
broome fib 200 44 dash 38.0 38.0 0.0 1.7
broome fib 200 44 bash 96.7 96.7 0.0 3.4
broome fib 200 44 osh_eval.opt.stripped 170.8 143.0 27.8 101.7
broome hello _ _ osh_eval.opt.stripped 3.0 0.0 2.9 4.2
broome hello _ _ dash 1.1 1.0 0.0 1.8
broome hello _ _ bash 2.0 2.0 0.0 3.4
broome hello _ _ python 17.0 17.0 0.0 7.2
broome palindrome bytes _ python 28.7 25.2 3.8 7.4
broome palindrome bytes _ bash 238.0 226.6 11.8 3.7
broome palindrome bytes _ osh_eval.opt.stripped 459.6 330.7 129.4 235.9
broome palindrome unicode _ python 35.6 25.1 10.9 7.5
broome palindrome unicode _ bash 283.9 247.7 36.6 3.7
broome palindrome unicode _ osh_eval.opt.stripped 444.9 284.5 160.6 236.0
broome parse_help ls _ bash 33.7 30.4 3.6 3.6
broome parse_help ls _ osh_eval.opt.stripped 39.4 39.7 0.0 10.7
broome parse_help ls-short _ bash 13.0 9.4 3.9 3.8
broome parse_help ls-short _ osh_eval.opt.stripped 14.0 14.3 0.0 5.3
broome parse_help mypy _ bash 39.9 36.8 3.3 3.8
broome parse_help mypy _ osh_eval.opt.stripped 53.3 45.6 8.0 12.8
broome word_freq 10 configure python 32.8 23.7 11.4 7.4
broome word_freq 10 configure osh_eval.opt.stripped 150.6 108.2 44.4 64.4
broome word_freq 10 configure bash 160.1 142.5 23.4 3.6
spring bubble_sort bytes 200 python 29.6 24.8 5.3 7.3
spring bubble_sort bytes 200 osh_eval.opt.stripped 320.5 253.1 67.7 155.2
spring bubble_sort bytes 200 bash 378.2 374.8 3.9 3.6
spring bubble_sort int 200 python 54.1 54.5 0.0 7.3
spring bubble_sort int 200 osh_eval.opt.stripped 323.7 282.3 41.8 146.0
spring bubble_sort int 200 bash 385.6 386.0 0.0 3.6
spring fib 200 44 python 17.6 14.0 3.5 7.3
spring fib 200 44 dash 37.0 37.0 0.0 1.7
spring fib 200 44 bash 110.1 110.1 0.0 3.3
spring fib 200 44 osh_eval.opt.stripped 172.8 113.9 58.9 101.5
spring hello _ _ bash 2.1 0.0 2.0 3.4
spring hello _ _ dash 1.1 1.0 0.0 1.8
spring hello _ _ osh_eval.opt.stripped 2.8 2.7 0.0 4.2
spring hello _ _ python 15.9 15.9 0.0 7.3
spring palindrome bytes _ python 32.3 17.8 14.8 7.5
spring palindrome bytes _ bash 240.2 224.9 15.7 3.5
spring palindrome bytes _ osh_eval.opt.stripped 415.6 299.6 116.3 236.1
spring palindrome unicode _ python 34.0 26.6 7.9 7.5
spring palindrome unicode _ bash 243.5 222.8 21.1 3.6
spring palindrome unicode _ osh_eval.opt.stripped 432.4 333.7 99.1 235.9
spring parse_help ls _ osh_eval.opt.stripped 43.3 27.2 16.4 10.6
spring parse_help ls _ bash 30.8 31.0 0.0 3.8
spring parse_help ls-short _ osh_eval.opt.stripped 13.6 8.0 5.8 5.4
spring parse_help ls-short _ bash 13.0 9.4 3.9 3.6
spring parse_help mypy _ bash 41.1 36.7 4.8 3.8
spring parse_help mypy _ osh_eval.opt.stripped 49.7 38.8 11.1 13.2
spring word_freq 10 configure python 30.2 27.8 4.5 7.5
spring word_freq 10 configure osh_eval.opt.stripped 151.1 116.3 36.9 64.5
spring word_freq 10 configure bash 159.5 137.3 28.1 3.7