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 2.8 0.0 2.9 4.0
broome _ _ dash 1.0 1.0 0.0 1.7
broome _ _ bash 2.1 2.1 0.0 3.3
broome _ _ python2 17.2 12.9 4.3 7.2
spring _ _ dash 1.2 0.0 1.1 1.8
spring _ _ osh_eval.opt.stripped 3.0 0.0 3.0 4.1
spring _ _ bash 2.2 2.2 0.0 3.3
spring _ _ python2 18.2 14.5 3.6 7.2

fibonacci (integers)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
broome 200 44 python2 14.2 14.1 0.0 7.4
broome 200 44 dash 39.9 39.8 0.0 1.7
broome 200 44 bash 110.9 106.8 4.1 3.3
broome 200 44 osh_eval.opt.stripped 173.9 130.4 43.5 102.7
spring 200 44 python2 15.9 7.9 7.9 7.3
spring 200 44 dash 39.1 34.7 4.3 1.7
spring 200 44 bash 110.7 106.8 4.0 3.4
spring 200 44 osh_eval.opt.stripped 172.1 143.3 28.7 102.6

word_freq (associative arrays / hash tables)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
broome 10 configure python2 31.3 12.4 21.1 7.3
broome 10 configure osh_eval.opt.stripped 157.3 131.4 28.0 65.1
broome 10 configure bash 160.4 141.8 24.6 3.6
spring 10 configure python2 31.6 29.9 3.9 7.5
spring 10 configure osh_eval.opt.stripped 151.8 104.7 49.2 65.4
spring 10 configure bash 161.0 147.0 19.6 3.6

parse_help (strings, real code)

host name arg1 runtime elapsed ms user ms sys ms max rss MB
broome ls bash 33.9 21.2 13.2 3.8
broome ls osh_eval.opt.stripped 48.8 32.7 16.4 10.8
broome ls-short bash 14.6 11.8 2.2 3.8
broome ls-short osh_eval.opt.stripped 14.9 14.3 0.9 5.4
broome mypy bash 36.8 33.2 4.0 3.8
broome mypy osh_eval.opt.stripped 59.0 51.0 8.3 13.1
spring ls bash 30.7 18.5 12.3 3.7
spring ls osh_eval.opt.stripped 53.6 42.0 11.8 10.8
spring ls-short osh_eval.opt.stripped 12.3 4.3 8.2 5.3
spring ls-short bash 13.5 13.0 0.0 3.8
spring mypy bash 35.4 27.6 7.3 3.8
spring mypy osh_eval.opt.stripped 61.9 57.2 5.0 13.1

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 python2 31.6 21.2 10.8 7.3
broome bytes 200 osh_eval.opt.stripped 369.3 290.3 79.2 176.9
broome bytes 200 bash 404.4 398.4 6.6 3.7
broome int 200 python2 60.1 44.6 15.9 7.3
broome int 200 osh_eval.opt.stripped 324.2 259.2 65.5 152.5
broome int 200 bash 390.2 382.6 8.0 3.7
spring bytes 200 python2 30.7 13.8 17.3 7.3
spring bytes 200 osh_eval.opt.stripped 388.7 304.6 84.5 169.7
spring bytes 200 bash 389.0 389.3 0.0 3.6
spring int 200 python2 59.6 59.9 0.0 7.3
spring int 200 osh_eval.opt.stripped 354.8 279.2 76.0 155.1
spring int 200 bash 402.2 390.6 11.9 3.6

Interpreter and Host Details

shell label shell id
bash bash-9af8f89f
dash dash-9ff48631
oil-native osh_eval.opt.stripped-d7f10784
python2 python2-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 python2 31.6 21.2 10.8 7.3
broome bubble_sort bytes 200 osh_eval.opt.stripped 369.3 290.3 79.2 176.9
broome bubble_sort bytes 200 bash 404.4 398.4 6.6 3.7
broome bubble_sort int 200 python2 60.1 44.6 15.9 7.3
broome bubble_sort int 200 osh_eval.opt.stripped 324.2 259.2 65.5 152.5
broome bubble_sort int 200 bash 390.2 382.6 8.0 3.7
broome fib 200 44 python2 14.2 14.1 0.0 7.4
broome fib 200 44 dash 39.9 39.8 0.0 1.7
broome fib 200 44 bash 110.9 106.8 4.1 3.3
broome fib 200 44 osh_eval.opt.stripped 173.9 130.4 43.5 102.7
broome hello _ _ osh_eval.opt.stripped 2.8 0.0 2.9 4.0
broome hello _ _ dash 1.0 1.0 0.0 1.7
broome hello _ _ bash 2.1 2.1 0.0 3.3
broome hello _ _ python2 17.2 12.9 4.3 7.2
broome palindrome bytes _ python2 29.2 29.6 0.0 7.4
broome palindrome bytes _ bash 252.9 253.2 0.0 3.7
broome palindrome bytes _ osh_eval.opt.stripped 438.7 313.6 125.4 237.4
broome palindrome unicode _ python2 34.9 22.2 13.2 7.5
broome palindrome unicode _ bash 273.0 249.6 23.9 3.6
broome palindrome unicode _ osh_eval.opt.stripped 443.7 325.0 119.2 237.4
broome parse_help ls _ bash 33.9 21.2 13.2 3.8
broome parse_help ls _ osh_eval.opt.stripped 48.8 32.7 16.4 10.8
broome parse_help ls-short _ bash 14.6 11.8 2.2 3.8
broome parse_help ls-short _ osh_eval.opt.stripped 14.9 14.3 0.9 5.4
broome parse_help mypy _ bash 36.8 33.2 4.0 3.8
broome parse_help mypy _ osh_eval.opt.stripped 59.0 51.0 8.3 13.1
broome word_freq 10 configure python2 31.3 12.4 21.1 7.3
broome word_freq 10 configure osh_eval.opt.stripped 157.3 131.4 28.0 65.1
broome word_freq 10 configure bash 160.4 141.8 24.6 3.6
spring bubble_sort bytes 200 python2 30.7 13.8 17.3 7.3
spring bubble_sort bytes 200 osh_eval.opt.stripped 388.7 304.6 84.5 169.7
spring bubble_sort bytes 200 bash 389.0 389.3 0.0 3.6
spring bubble_sort int 200 python2 59.6 59.9 0.0 7.3
spring bubble_sort int 200 osh_eval.opt.stripped 354.8 279.2 76.0 155.1
spring bubble_sort int 200 bash 402.2 390.6 11.9 3.6
spring fib 200 44 python2 15.9 7.9 7.9 7.3
spring fib 200 44 dash 39.1 34.7 4.3 1.7
spring fib 200 44 bash 110.7 106.8 4.0 3.4
spring fib 200 44 osh_eval.opt.stripped 172.1 143.3 28.7 102.6
spring hello _ _ dash 1.2 0.0 1.1 1.8
spring hello _ _ osh_eval.opt.stripped 3.0 0.0 3.0 4.1
spring hello _ _ bash 2.2 2.2 0.0 3.3
spring hello _ _ python2 18.2 14.5 3.6 7.2
spring palindrome bytes _ python2 30.6 28.5 2.5 7.6
spring palindrome bytes _ bash 240.5 235.1 4.8 3.6
spring palindrome bytes _ osh_eval.opt.stripped 447.7 343.9 104.1 237.6
spring palindrome unicode _ python2 33.4 29.7 4.0 7.7
spring palindrome unicode _ bash 265.2 256.5 9.0 3.6
spring palindrome unicode _ osh_eval.opt.stripped 431.6 344.5 87.5 237.5
spring parse_help ls _ bash 30.7 18.5 12.3 3.7
spring parse_help ls _ osh_eval.opt.stripped 53.6 42.0 11.8 10.8
spring parse_help ls-short _ osh_eval.opt.stripped 12.3 4.3 8.2 5.3
spring parse_help ls-short _ bash 13.5 13.0 0.0 3.8
spring parse_help mypy _ bash 35.4 27.6 7.3 3.8
spring parse_help mypy _ osh_eval.opt.stripped 61.9 57.2 5.0 13.1
spring word_freq 10 configure python2 31.6 29.9 3.9 7.5
spring word_freq 10 configure osh_eval.opt.stripped 151.8 104.7 49.2 65.4
spring word_freq 10 configure bash 161.0 147.0 19.6 3.6