oilshell.org
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 |
_ |
_ |
dash |
1.1 |
1.1 |
0.0 |
1.8 |
broome |
_ |
_ |
bash |
2.8 |
2.1 |
0.0 |
3.1 |
broome |
_ |
_ |
osh_eval.stripped |
2.9 |
2.9 |
0.0 |
4.1 |
broome |
_ |
_ |
python2 |
17.5 |
16.7 |
0.0 |
7.3 |
lenny |
_ |
_ |
python2 |
6.4 |
0.0 |
6.3 |
7.3 |
lenny |
_ |
_ |
dash |
0.4 |
0.3 |
0.0 |
1.7 |
lenny |
_ |
_ |
bash |
0.7 |
0.7 |
0.0 |
3.4 |
lenny |
_ |
_ |
osh_eval.stripped |
1.0 |
1.0 |
0.0 |
4.1 |
fibonacci (integers)
- arg1: number of repetitions
- arg2: the N in fib(N)
host name |
arg1 |
arg2 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
200 |
44 |
python2 |
18.4 |
17.7 |
0.0 |
7.3 |
broome |
200 |
44 |
dash |
38.9 |
38.8 |
0.0 |
1.7 |
broome |
200 |
44 |
bash |
100.2 |
95.4 |
4.0 |
3.3 |
broome |
200 |
44 |
osh_eval.stripped |
173.4 |
124.9 |
48.4 |
102.5 |
lenny |
200 |
44 |
python2 |
6.5 |
3.2 |
3.2 |
7.3 |
lenny |
200 |
44 |
dash |
17.4 |
17.3 |
0.0 |
1.8 |
lenny |
200 |
44 |
bash |
64.0 |
64.0 |
0.0 |
3.4 |
lenny |
200 |
44 |
osh_eval.stripped |
93.0 |
72.7 |
20.2 |
102.5 |
word_freq (associative arrays / hash tables)
- arg1: number of repetitions
- arg2: the file (varies size of hash table)
host name |
arg1 |
arg2 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
10 |
configure |
python2 |
33.5 |
25.9 |
9.3 |
7.4 |
broome |
10 |
configure |
bash |
132.8 |
123.5 |
14.3 |
3.6 |
broome |
10 |
configure |
osh_eval.stripped |
157.5 |
130.8 |
32.8 |
64.4 |
lenny |
10 |
configure |
python2 |
13.2 |
9.9 |
4.1 |
7.4 |
lenny |
10 |
configure |
osh_eval.stripped |
76.6 |
54.8 |
23.9 |
64.4 |
lenny |
10 |
configure |
bash |
84.0 |
86.0 |
0.0 |
3.7 |
parse_help (strings, real code)
host name |
arg1 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
ls |
bash |
30.5 |
25.8 |
5.1 |
3.8 |
broome |
ls |
osh_eval.stripped |
56.5 |
48.9 |
8.0 |
10.5 |
broome |
ls-short |
bash |
17.0 |
12.7 |
4.1 |
3.6 |
broome |
ls-short |
osh_eval.stripped |
18.0 |
14.6 |
3.8 |
5.3 |
broome |
mypy |
bash |
35.6 |
34.3 |
0.9 |
3.7 |
broome |
mypy |
osh_eval.stripped |
67.2 |
42.9 |
24.6 |
13.0 |
lenny |
ls |
bash |
17.2 |
17.4 |
0.0 |
3.8 |
lenny |
ls |
osh_eval.stripped |
27.0 |
21.2 |
6.0 |
10.8 |
lenny |
ls-short |
bash |
6.4 |
6.0 |
0.4 |
3.6 |
lenny |
ls-short |
osh_eval.stripped |
7.3 |
7.2 |
0.4 |
5.2 |
lenny |
mypy |
bash |
23.2 |
22.9 |
0.4 |
3.7 |
lenny |
mypy |
osh_eval.stripped |
38.4 |
30.4 |
8.3 |
13.0 |
bubble_sort (array of integers, arrays of strings)
- arg1: type of array
- arg2: length of array
host name |
arg1 |
arg2 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
bytes |
200 |
python2 |
35.7 |
30.7 |
5.6 |
7.1 |
broome |
bytes |
200 |
osh_eval.stripped |
363.2 |
285.6 |
78.1 |
172.8 |
broome |
bytes |
200 |
bash |
352.5 |
348.1 |
4.9 |
3.6 |
broome |
int |
200 |
python2 |
53.8 |
51.7 |
1.8 |
7.3 |
broome |
int |
200 |
osh_eval.stripped |
292.8 |
254.0 |
39.1 |
142.9 |
broome |
int |
200 |
bash |
319.6 |
309.1 |
10.5 |
3.4 |
lenny |
bytes |
200 |
python2 |
12.9 |
9.0 |
4.2 |
7.3 |
lenny |
bytes |
200 |
osh_eval.stripped |
224.3 |
180.6 |
43.9 |
171.3 |
lenny |
bytes |
200 |
bash |
226.4 |
226.7 |
0.0 |
3.6 |
lenny |
int |
200 |
python2 |
27.0 |
27.2 |
0.0 |
7.2 |
lenny |
int |
200 |
osh_eval.stripped |
195.0 |
158.8 |
36.5 |
145.0 |
lenny |
int |
200 |
bash |
207.1 |
207.3 |
0.0 |
3.6 |
Interpreter and Host Details
Details
host name |
task name |
arg1 |
arg2 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
bubble_sort |
bytes |
200 |
python2 |
35.7 |
30.7 |
5.6 |
7.1 |
broome |
bubble_sort |
bytes |
200 |
osh_eval.stripped |
363.2 |
285.6 |
78.1 |
172.8 |
broome |
bubble_sort |
bytes |
200 |
bash |
352.5 |
348.1 |
4.9 |
3.6 |
broome |
bubble_sort |
int |
200 |
python2 |
53.8 |
51.7 |
1.8 |
7.3 |
broome |
bubble_sort |
int |
200 |
osh_eval.stripped |
292.8 |
254.0 |
39.1 |
142.9 |
broome |
bubble_sort |
int |
200 |
bash |
319.6 |
309.1 |
10.5 |
3.4 |
broome |
fib |
200 |
44 |
python2 |
18.4 |
17.7 |
0.0 |
7.3 |
broome |
fib |
200 |
44 |
dash |
38.9 |
38.8 |
0.0 |
1.7 |
broome |
fib |
200 |
44 |
bash |
100.2 |
95.4 |
4.0 |
3.3 |
broome |
fib |
200 |
44 |
osh_eval.stripped |
173.4 |
124.9 |
48.4 |
102.5 |
broome |
hello |
_ |
_ |
dash |
1.1 |
1.1 |
0.0 |
1.8 |
broome |
hello |
_ |
_ |
bash |
2.8 |
2.1 |
0.0 |
3.1 |
broome |
hello |
_ |
_ |
osh_eval.stripped |
2.9 |
2.9 |
0.0 |
4.1 |
broome |
hello |
_ |
_ |
python2 |
17.5 |
16.7 |
0.0 |
7.3 |
broome |
palindrome |
bytes |
_ |
python2 |
34.1 |
33.6 |
0.9 |
7.4 |
broome |
palindrome |
bytes |
_ |
bash |
238.8 |
217.4 |
21.9 |
3.5 |
broome |
palindrome |
bytes |
_ |
osh_eval.stripped |
407.9 |
319.6 |
88.7 |
237.4 |
broome |
palindrome |
unicode |
_ |
python2 |
35.6 |
30.3 |
5.1 |
7.6 |
broome |
palindrome |
unicode |
_ |
bash |
222.1 |
204.8 |
17.2 |
3.6 |
broome |
palindrome |
unicode |
_ |
osh_eval.stripped |
421.9 |
330.1 |
92.1 |
237.2 |
broome |
parse_help |
ls |
_ |
bash |
30.5 |
25.8 |
5.1 |
3.8 |
broome |
parse_help |
ls |
_ |
osh_eval.stripped |
56.5 |
48.9 |
8.0 |
10.5 |
broome |
parse_help |
ls-short |
_ |
bash |
17.0 |
12.7 |
4.1 |
3.6 |
broome |
parse_help |
ls-short |
_ |
osh_eval.stripped |
18.0 |
14.6 |
3.8 |
5.3 |
broome |
parse_help |
mypy |
_ |
bash |
35.6 |
34.3 |
0.9 |
3.7 |
broome |
parse_help |
mypy |
_ |
osh_eval.stripped |
67.2 |
42.9 |
24.6 |
13.0 |
broome |
word_freq |
10 |
configure |
python2 |
33.5 |
25.9 |
9.3 |
7.4 |
broome |
word_freq |
10 |
configure |
bash |
132.8 |
123.5 |
14.3 |
3.6 |
broome |
word_freq |
10 |
configure |
osh_eval.stripped |
157.5 |
130.8 |
32.8 |
64.4 |
lenny |
bubble_sort |
bytes |
200 |
python2 |
12.9 |
9.0 |
4.2 |
7.3 |
lenny |
bubble_sort |
bytes |
200 |
osh_eval.stripped |
224.3 |
180.6 |
43.9 |
171.3 |
lenny |
bubble_sort |
bytes |
200 |
bash |
226.4 |
226.7 |
0.0 |
3.6 |
lenny |
bubble_sort |
int |
200 |
python2 |
27.0 |
27.2 |
0.0 |
7.2 |
lenny |
bubble_sort |
int |
200 |
osh_eval.stripped |
195.0 |
158.8 |
36.5 |
145.0 |
lenny |
bubble_sort |
int |
200 |
bash |
207.1 |
207.3 |
0.0 |
3.6 |
lenny |
fib |
200 |
44 |
python2 |
6.5 |
3.2 |
3.2 |
7.3 |
lenny |
fib |
200 |
44 |
dash |
17.4 |
17.3 |
0.0 |
1.8 |
lenny |
fib |
200 |
44 |
bash |
64.0 |
64.0 |
0.0 |
3.4 |
lenny |
fib |
200 |
44 |
osh_eval.stripped |
93.0 |
72.7 |
20.2 |
102.5 |
lenny |
hello |
_ |
_ |
python2 |
6.4 |
0.0 |
6.3 |
7.3 |
lenny |
hello |
_ |
_ |
dash |
0.4 |
0.3 |
0.0 |
1.7 |
lenny |
hello |
_ |
_ |
bash |
0.7 |
0.7 |
0.0 |
3.4 |
lenny |
hello |
_ |
_ |
osh_eval.stripped |
1.0 |
1.0 |
0.0 |
4.1 |
lenny |
palindrome |
bytes |
_ |
python2 |
12.9 |
13.1 |
0.0 |
7.6 |
lenny |
palindrome |
bytes |
_ |
bash |
142.9 |
129.5 |
12.3 |
3.7 |
lenny |
palindrome |
bytes |
_ |
osh_eval.stripped |
263.7 |
176.3 |
87.7 |
237.3 |
lenny |
palindrome |
unicode |
_ |
python2 |
14.9 |
13.7 |
1.4 |
7.6 |
lenny |
palindrome |
unicode |
_ |
bash |
167.2 |
159.0 |
7.9 |
3.6 |
lenny |
palindrome |
unicode |
_ |
osh_eval.stripped |
266.5 |
207.0 |
59.7 |
237.3 |
lenny |
parse_help |
ls |
_ |
bash |
17.2 |
17.4 |
0.0 |
3.8 |
lenny |
parse_help |
ls |
_ |
osh_eval.stripped |
27.0 |
21.2 |
6.0 |
10.8 |
lenny |
parse_help |
ls-short |
_ |
bash |
6.4 |
6.0 |
0.4 |
3.6 |
lenny |
parse_help |
ls-short |
_ |
osh_eval.stripped |
7.3 |
7.2 |
0.4 |
5.2 |
lenny |
parse_help |
mypy |
_ |
bash |
23.2 |
22.9 |
0.4 |
3.7 |
lenny |
parse_help |
mypy |
_ |
osh_eval.stripped |
38.4 |
30.4 |
8.3 |
13.0 |
lenny |
word_freq |
10 |
configure |
python2 |
13.2 |
9.9 |
4.1 |
7.4 |
lenny |
word_freq |
10 |
configure |
osh_eval.stripped |
76.6 |
54.8 |
23.9 |
64.4 |
lenny |
word_freq |
10 |
configure |
bash |
84.0 |
86.0 |
0.0 |
3.7 |