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 4.4 0.0 2.3 3.0
flanders _ _ dash 1.2 1.2 0.0 1.7
flanders _ _ osh_eval.opt.stripped 3.4 3.3 0.0 3.8
flanders _ _ python 24.4 17.8 4.5 6.8
lisa _ _ python 8.0 0.0 8.0 6.8
lisa _ _ dash 0.5 0.4 0.0 1.6
lisa _ _ bash 0.8 0.8 0.0 3.1
lisa _ _ osh_eval.opt.stripped 1.3 1.3 0.0 3.8

fibonacci (integers)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 200 44 python 22.3 16.2 4.1 6.7
flanders 200 44 dash 53.6 53.5 0.0 1.8
flanders 200 44 osh_eval.opt.stripped 233.1 197.5 35.6 98.8
flanders 200 44 bash 216.1 207.9 8.0 3.1
lisa 200 44 python 10.7 10.7 0.0 6.9
lisa 200 44 dash 20.7 20.7 0.0 1.7
lisa 200 44 bash 77.9 77.9 0.0 3.1
lisa 200 44 osh_eval.opt.stripped 93.9 81.6 12.2 98.8

word_freq (associative arrays / hash tables)

host name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders 10 configure python 45.1 33.8 12.0 7.0
flanders 10 configure osh_eval.opt.stripped 189.8 164.1 27.9 63.4
flanders 10 configure bash 270.3 250.7 19.3 3.4
lisa 10 configure python 14.8 12.9 2.8 7.0
lisa 10 configure osh_eval.opt.stripped 84.0 55.0 27.9 63.4
lisa 10 configure bash 106.8 90.8 8.5 3.3

parse_help (strings, real code)

host name arg1 runtime elapsed ms user ms sys ms max rss MB
flanders ls bash 38.2 26.2 12.1 3.6
flanders ls osh_eval.opt.stripped 52.3 39.0 13.7 10.4
flanders ls-short osh_eval.opt.stripped 17.4 8.0 9.7 4.7
flanders ls-short bash 23.7 10.3 9.8 3.3
flanders mypy osh_eval.opt.stripped 66.3 44.5 22.1 12.8
flanders mypy bash 48.1 45.0 3.2 3.5
lisa ls osh_eval.opt.stripped 18.3 11.9 6.5 10.5
lisa ls bash 22.4 14.6 6.0 3.6
lisa ls-short osh_eval.opt.stripped 5.7 5.8 0.0 4.8
lisa ls-short bash 9.4 7.7 0.0 3.5
lisa mypy bash 18.4 18.3 0.0 3.6
lisa mypy osh_eval.opt.stripped 29.4 28.9 0.4 12.8

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.4 41.0 3.8 6.7
flanders bytes 200 osh_eval.opt.stripped 495.0 410.0 85.4 149.5
flanders bytes 200 bash 750.6 747.0 4.0 3.3
flanders int 200 python 93.5 76.9 15.1 6.6
flanders int 200 osh_eval.opt.stripped 488.8 386.0 103.3 145.3
flanders int 200 bash 745.2 734.0 9.7 3.3
lisa bytes 200 python 16.8 17.0 0.0 6.9
lisa bytes 200 osh_eval.opt.stripped 198.2 169.8 28.3 161.1
lisa bytes 200 bash 273.2 272.6 0.0 3.4
lisa int 200 python 34.4 30.6 3.8 6.9
lisa int 200 osh_eval.opt.stripped 182.9 136.2 46.8 145.8
lisa int 200 bash 288.5 288.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-45df3fa6
python python-e4b9f5ce
host label host id
flanders flanders-e67e6fdb
lisa lisa-1f35df1a

Details

host name task name arg1 arg2 runtime elapsed ms user ms sys ms max rss MB
flanders bubble_sort bytes 200 python 44.4 41.0 3.8 6.7
flanders bubble_sort bytes 200 osh_eval.opt.stripped 495.0 410.0 85.4 149.5
flanders bubble_sort bytes 200 bash 750.6 747.0 4.0 3.3
flanders bubble_sort int 200 python 93.5 76.9 15.1 6.6
flanders bubble_sort int 200 osh_eval.opt.stripped 488.8 386.0 103.3 145.3
flanders bubble_sort int 200 bash 745.2 734.0 9.7 3.3
flanders fib 200 44 python 22.3 16.2 4.1 6.7
flanders fib 200 44 dash 53.6 53.5 0.0 1.8
flanders fib 200 44 osh_eval.opt.stripped 233.1 197.5 35.6 98.8
flanders fib 200 44 bash 216.1 207.9 8.0 3.1
flanders hello _ _ bash 4.4 0.0 2.3 3.0
flanders hello _ _ dash 1.2 1.2 0.0 1.7
flanders hello _ _ osh_eval.opt.stripped 3.4 3.3 0.0 3.8
flanders hello _ _ python 24.4 17.8 4.5 6.8
flanders palindrome bytes _ python 52.5 42.8 10.3 7.1
flanders palindrome bytes _ bash 520.0 492.5 27.9 3.2
flanders palindrome bytes _ osh_eval.opt.stripped 877.1 675.0 200.7 231.3
flanders palindrome unicode _ python 70.9 57.8 11.7 7.1
flanders palindrome unicode _ bash 565.4 545.1 18.9 3.3
flanders palindrome unicode _ osh_eval.opt.stripped 729.1 589.5 140.0 231.2
flanders parse_help ls _ bash 38.2 26.2 12.1 3.6
flanders parse_help ls _ osh_eval.opt.stripped 52.3 39.0 13.7 10.4
flanders parse_help ls-short _ osh_eval.opt.stripped 17.4 8.0 9.7 4.7
flanders parse_help ls-short _ bash 23.7 10.3 9.8 3.3
flanders parse_help mypy _ osh_eval.opt.stripped 66.3 44.5 22.1 12.8
flanders parse_help mypy _ bash 48.1 45.0 3.2 3.5
flanders word_freq 10 configure python 45.1 33.8 12.0 7.0
flanders word_freq 10 configure osh_eval.opt.stripped 189.8 164.1 27.9 63.4
flanders word_freq 10 configure bash 270.3 250.7 19.3 3.4
lisa bubble_sort bytes 200 python 16.8 17.0 0.0 6.9
lisa bubble_sort bytes 200 osh_eval.opt.stripped 198.2 169.8 28.3 161.1
lisa bubble_sort bytes 200 bash 273.2 272.6 0.0 3.4
lisa bubble_sort int 200 python 34.4 30.6 3.8 6.9
lisa bubble_sort int 200 osh_eval.opt.stripped 182.9 136.2 46.8 145.8
lisa bubble_sort int 200 bash 288.5 288.7 0.0 3.4
lisa fib 200 44 python 10.7 10.7 0.0 6.9
lisa fib 200 44 dash 20.7 20.7 0.0 1.7
lisa fib 200 44 bash 77.9 77.9 0.0 3.1
lisa fib 200 44 osh_eval.opt.stripped 93.9 81.6 12.2 98.8
lisa hello _ _ python 8.0 0.0 8.0 6.8
lisa hello _ _ dash 0.5 0.4 0.0 1.6
lisa hello _ _ bash 0.8 0.8 0.0 3.1
lisa hello _ _ osh_eval.opt.stripped 1.3 1.3 0.0 3.8
lisa palindrome bytes _ python 15.0 7.5 7.6 7.0
lisa palindrome bytes _ bash 166.2 162.0 4.3 3.4
lisa palindrome bytes _ osh_eval.opt.stripped 247.4 183.6 63.9 231.2
lisa palindrome unicode _ python 18.6 15.3 3.4 7.1
lisa palindrome unicode _ bash 182.5 174.7 7.9 3.3
lisa palindrome unicode _ osh_eval.opt.stripped 246.3 186.8 59.6 231.2
lisa parse_help ls _ osh_eval.opt.stripped 18.3 11.9 6.5 10.5
lisa parse_help ls _ bash 22.4 14.6 6.0 3.6
lisa parse_help ls-short _ osh_eval.opt.stripped 5.7 5.8 0.0 4.8
lisa parse_help ls-short _ bash 9.4 7.7 0.0 3.5
lisa parse_help mypy _ bash 18.4 18.3 0.0 3.6
lisa parse_help mypy _ osh_eval.opt.stripped 29.4 28.9 0.4 12.8
lisa word_freq 10 configure python 14.8 12.9 2.8 7.0
lisa word_freq 10 configure osh_eval.opt.stripped 84.0 55.0 27.9 63.4
lisa word_freq 10 configure bash 106.8 90.8 8.5 3.3