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
flanders _ _ bash 2.6 0.0 2.4 3.0
flanders _ _ dash 1.1 1.1 0.0 1.7
flanders _ _ osh_eval.opt.stripped 2.9 2.9 0.0 3.9
flanders _ _ python 22.6 17.3 3.5 6.9
lisa _ _ dash 0.4 0.4 0.0 1.5
lisa _ _ bash 0.7 0.7 0.0 3.2
lisa _ _ osh_eval.opt.stripped 1.1 1.1 0.0 3.9
lisa _ _ python 6.7 6.5 0.0 6.9

fibonacci (integers)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 200 44 python 22.9 20.9 0.0 6.8
flanders 200 44 dash 54.2 54.2 0.0 1.8
flanders 200 44 osh_eval.opt.stripped 233.3 193.8 39.5 98.9
flanders 200 44 bash 195.4 195.2 0.0 3.0
lisa 200 44 python 7.1 3.5 3.5 7.0
lisa 200 44 dash 20.0 20.0 0.0 1.5
lisa 200 44 osh_eval.opt.stripped 93.5 64.4 28.2 98.8
lisa 200 44 bash 70.9 67.0 3.9 3.1

word_freq (associative arrays / hash tables)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 10 configure python 43.7 28.2 16.2 7.1
flanders 10 configure osh_eval.opt.stripped 190.6 154.0 39.2 63.5
flanders 10 configure bash 245.1 243.4 8.6 3.4
lisa 10 configure python 15.6 12.7 3.7 7.1
lisa 10 configure osh_eval.opt.stripped 81.2 69.8 12.1 63.5
lisa 10 configure bash 90.2 84.5 7.8 3.4

parse_help (strings, real code)

host name arg1 runtime elapsed ms user ms sys ms max rss MB
flanders ls bash 36.6 33.1 3.7 3.7
flanders ls osh_eval.opt.stripped 49.6 36.3 13.5 10.5
flanders ls-short osh_eval.opt.stripped 13.5 7.6 6.2 5.0
flanders ls-short bash 17.5 13.6 2.1 3.4
flanders mypy bash 43.9 32.2 11.9 3.5
flanders mypy osh_eval.opt.stripped 65.2 54.1 11.5 13.0
lisa ls bash 15.4 15.2 0.0 3.7
lisa ls osh_eval.opt.stripped 21.5 17.9 3.6 10.6
lisa ls-short bash 6.9 5.1 0.0 3.5
lisa ls-short osh_eval.opt.stripped 5.8 5.7 0.0 4.9
lisa mypy bash 17.8 17.7 0.0 3.5
lisa mypy osh_eval.opt.stripped 27.5 23.4 4.0 12.9

bubble_sort (array of integers, arrays of strings)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders bytes 200 python 44.1 40.9 3.7 6.7
flanders bytes 200 osh_eval.opt.stripped 542.6 457.3 85.7 148.9
flanders bytes 200 bash 720.6 715.7 5.4 3.3
flanders int 200 python 79.0 70.5 8.8 6.8
flanders int 200 osh_eval.opt.stripped 544.3 465.4 79.4 140.0
flanders int 200 bash 682.2 678.2 2.5 3.3
lisa bytes 200 python 15.1 14.8 0.4 6.9
lisa bytes 200 osh_eval.opt.stripped 223.4 195.2 28.3 163.2
lisa bytes 200 bash 284.8 284.9 0.0 3.3
lisa int 200 python 31.7 24.9 6.9 7.0
lisa int 200 osh_eval.opt.stripped 218.5 171.6 47.0 142.3
lisa int 200 bash 253.6 253.7 0.0 3.4

Interpreter and Host Details

shell label shell id
bash bash-d685a43c
dash dash-2887d9e6
oil-native osh_eval.opt.stripped-c6b7a640
python python-e4b9f5ce
host label host id
flanders flanders-63f04b74
lisa lisa-63f04b74

Details

host name task name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders bubble_sort bytes 200 python 44.1 40.9 3.7 6.7
flanders bubble_sort bytes 200 osh_eval.opt.stripped 542.6 457.3 85.7 148.9
flanders bubble_sort bytes 200 bash 720.6 715.7 5.4 3.3
flanders bubble_sort int 200 python 79.0 70.5 8.8 6.8
flanders bubble_sort int 200 osh_eval.opt.stripped 544.3 465.4 79.4 140.0
flanders bubble_sort int 200 bash 682.2 678.2 2.5 3.3
flanders fib 200 44 python 22.9 20.9 0.0 6.8
flanders fib 200 44 dash 54.2 54.2 0.0 1.8
flanders fib 200 44 osh_eval.opt.stripped 233.3 193.8 39.5 98.9
flanders fib 200 44 bash 195.4 195.2 0.0 3.0
flanders hello _ _ bash 2.6 0.0 2.4 3.0
flanders hello _ _ dash 1.1 1.1 0.0 1.7
flanders hello _ _ osh_eval.opt.stripped 2.9 2.9 0.0 3.9
flanders hello _ _ python 22.6 17.3 3.5 6.9
flanders palindrome bytes _ python 47.5 40.1 7.9 7.1
flanders palindrome bytes _ bash 476.3 444.7 31.6 3.3
flanders palindrome bytes _ osh_eval.opt.stripped 881.8 659.7 222.6 230.9
flanders palindrome unicode _ python 61.0 55.5 4.0 7.2
flanders palindrome unicode _ bash 504.7 473.4 29.8 3.4
flanders palindrome unicode _ osh_eval.opt.stripped 792.7 623.3 169.9 230.9
flanders parse_help ls _ bash 36.6 33.1 3.7 3.7
flanders parse_help ls _ osh_eval.opt.stripped 49.6 36.3 13.5 10.5
flanders parse_help ls-short _ osh_eval.opt.stripped 13.5 7.6 6.2 5.0
flanders parse_help ls-short _ bash 17.5 13.6 2.1 3.4
flanders parse_help mypy _ bash 43.9 32.2 11.9 3.5
flanders parse_help mypy _ osh_eval.opt.stripped 65.2 54.1 11.5 13.0
flanders word_freq 10 configure python 43.7 28.2 16.2 7.1
flanders word_freq 10 configure osh_eval.opt.stripped 190.6 154.0 39.2 63.5
flanders word_freq 10 configure bash 245.1 243.4 8.6 3.4
lisa bubble_sort bytes 200 python 15.1 14.8 0.4 6.9
lisa bubble_sort bytes 200 osh_eval.opt.stripped 223.4 195.2 28.3 163.2
lisa bubble_sort bytes 200 bash 284.8 284.9 0.0 3.3
lisa bubble_sort int 200 python 31.7 24.9 6.9 7.0
lisa bubble_sort int 200 osh_eval.opt.stripped 218.5 171.6 47.0 142.3
lisa bubble_sort int 200 bash 253.6 253.7 0.0 3.4
lisa fib 200 44 python 7.1 3.5 3.5 7.0
lisa fib 200 44 dash 20.0 20.0 0.0 1.5
lisa fib 200 44 osh_eval.opt.stripped 93.5 64.4 28.2 98.8
lisa fib 200 44 bash 70.9 67.0 3.9 3.1
lisa hello _ _ dash 0.4 0.4 0.0 1.5
lisa hello _ _ bash 0.7 0.7 0.0 3.2
lisa hello _ _ osh_eval.opt.stripped 1.1 1.1 0.0 3.9
lisa hello _ _ python 6.7 6.5 0.0 6.9
lisa palindrome bytes _ python 12.9 8.2 4.9 7.0
lisa palindrome bytes _ bash 156.6 152.3 4.5 3.4
lisa palindrome bytes _ osh_eval.opt.stripped 249.2 211.3 36.6 230.9
lisa palindrome unicode _ python 16.4 13.4 3.1 7.1
lisa palindrome unicode _ bash 175.2 174.9 0.4 3.4
lisa palindrome unicode _ osh_eval.opt.stripped 253.7 205.6 48.0 231.0
lisa parse_help ls _ bash 15.4 15.2 0.0 3.7
lisa parse_help ls _ osh_eval.opt.stripped 21.5 17.9 3.6 10.6
lisa parse_help ls-short _ bash 6.9 5.1 0.0 3.5
lisa parse_help ls-short _ osh_eval.opt.stripped 5.8 5.7 0.0 4.9
lisa parse_help mypy _ bash 17.8 17.7 0.0 3.5
lisa parse_help mypy _ osh_eval.opt.stripped 27.5 23.4 4.0 12.9
lisa word_freq 10 configure python 15.6 12.7 3.7 7.1
lisa word_freq 10 configure osh_eval.opt.stripped 81.2 69.8 12.1 63.5
lisa word_freq 10 configure bash 90.2 84.5 7.8 3.4