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 |
_ |
_ |
osh_eval.stripped |
2.8 |
0.0 |
2.8 |
4.1 |
broome |
_ |
_ |
dash |
1.1 |
1.0 |
0.0 |
1.7 |
broome |
_ |
_ |
bash |
2.8 |
2.0 |
0.0 |
3.2 |
broome |
_ |
_ |
python2 |
15.2 |
10.8 |
3.6 |
7.3 |
lenny |
_ |
_ |
dash |
0.4 |
0.3 |
0.0 |
1.7 |
lenny |
_ |
_ |
bash |
0.8 |
0.8 |
0.0 |
3.4 |
lenny |
_ |
_ |
osh_eval.stripped |
1.0 |
1.0 |
0.0 |
4.0 |
lenny |
_ |
_ |
python2 |
6.0 |
5.9 |
0.0 |
7.3 |
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 |
15.9 |
11.3 |
3.8 |
7.4 |
broome |
200 |
44 |
dash |
47.8 |
47.7 |
0.0 |
1.8 |
broome |
200 |
44 |
osh_eval.stripped |
135.6 |
90.4 |
45.2 |
102.2 |
broome |
200 |
44 |
bash |
107.5 |
106.7 |
0.0 |
3.4 |
lenny |
200 |
44 |
python2 |
6.4 |
0.0 |
6.4 |
7.4 |
lenny |
200 |
44 |
dash |
17.2 |
17.2 |
0.0 |
1.7 |
lenny |
200 |
44 |
osh_eval.stripped |
69.1 |
48.7 |
20.3 |
102.2 |
lenny |
200 |
44 |
bash |
60.9 |
60.8 |
0.0 |
3.3 |
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 |
32.2 |
32.3 |
1.3 |
7.4 |
broome |
10 |
configure |
osh_eval.stripped |
129.9 |
103.6 |
32.4 |
64.1 |
broome |
10 |
configure |
bash |
130.9 |
119.3 |
16.8 |
3.6 |
lenny |
10 |
configure |
python2 |
13.2 |
14.1 |
0.0 |
7.5 |
lenny |
10 |
configure |
osh_eval.stripped |
62.3 |
38.6 |
25.8 |
64.1 |
lenny |
10 |
configure |
bash |
84.1 |
81.8 |
4.3 |
3.6 |
parse_help (strings, real code)
host name |
arg1 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
ls |
bash |
30.9 |
22.4 |
8.7 |
3.8 |
broome |
ls |
osh_eval.stripped |
49.9 |
23.1 |
27.2 |
10.6 |
broome |
ls-short |
bash |
16.9 |
11.2 |
5.5 |
3.7 |
broome |
ls-short |
osh_eval.stripped |
17.9 |
13.3 |
5.0 |
5.0 |
broome |
mypy |
bash |
35.6 |
33.0 |
2.3 |
3.8 |
broome |
mypy |
osh_eval.stripped |
58.5 |
43.5 |
15.4 |
12.9 |
lenny |
ls |
bash |
18.1 |
14.5 |
3.7 |
3.7 |
lenny |
ls |
osh_eval.stripped |
28.7 |
24.5 |
4.5 |
10.4 |
lenny |
ls-short |
osh_eval.stripped |
7.1 |
2.0 |
5.3 |
5.2 |
lenny |
ls-short |
bash |
6.6 |
6.0 |
0.5 |
3.6 |
lenny |
mypy |
bash |
22.9 |
19.6 |
3.6 |
3.8 |
lenny |
mypy |
osh_eval.stripped |
37.6 |
24.1 |
13.8 |
12.8 |
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 |
33.3 |
23.0 |
10.9 |
7.3 |
broome |
bytes |
200 |
osh_eval.stripped |
207.0 |
153.0 |
54.5 |
157.2 |
broome |
bytes |
200 |
bash |
335.0 |
330.6 |
4.9 |
3.7 |
broome |
int |
200 |
python2 |
55.0 |
39.9 |
14.7 |
7.2 |
broome |
int |
200 |
osh_eval.stripped |
230.5 |
169.5 |
61.5 |
146.2 |
broome |
int |
200 |
bash |
343.8 |
343.6 |
0.0 |
3.7 |
lenny |
bytes |
200 |
python2 |
13.0 |
13.0 |
0.3 |
7.2 |
lenny |
bytes |
200 |
osh_eval.stripped |
143.0 |
111.1 |
32.0 |
164.6 |
lenny |
bytes |
200 |
bash |
222.0 |
221.9 |
0.4 |
3.5 |
lenny |
int |
200 |
python2 |
29.3 |
22.3 |
7.3 |
7.4 |
lenny |
int |
200 |
osh_eval.stripped |
140.8 |
97.0 |
44.1 |
152.5 |
lenny |
int |
200 |
bash |
223.9 |
224.2 |
0.0 |
3.7 |
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 |
33.3 |
23.0 |
10.9 |
7.3 |
broome |
bubble_sort |
bytes |
200 |
osh_eval.stripped |
207.0 |
153.0 |
54.5 |
157.2 |
broome |
bubble_sort |
bytes |
200 |
bash |
335.0 |
330.6 |
4.9 |
3.7 |
broome |
bubble_sort |
int |
200 |
python2 |
55.0 |
39.9 |
14.7 |
7.2 |
broome |
bubble_sort |
int |
200 |
osh_eval.stripped |
230.5 |
169.5 |
61.5 |
146.2 |
broome |
bubble_sort |
int |
200 |
bash |
343.8 |
343.6 |
0.0 |
3.7 |
broome |
fib |
200 |
44 |
python2 |
15.9 |
11.3 |
3.8 |
7.4 |
broome |
fib |
200 |
44 |
dash |
47.8 |
47.7 |
0.0 |
1.8 |
broome |
fib |
200 |
44 |
osh_eval.stripped |
135.6 |
90.4 |
45.2 |
102.2 |
broome |
fib |
200 |
44 |
bash |
107.5 |
106.7 |
0.0 |
3.4 |
broome |
hello |
_ |
_ |
osh_eval.stripped |
2.8 |
0.0 |
2.8 |
4.1 |
broome |
hello |
_ |
_ |
dash |
1.1 |
1.0 |
0.0 |
1.7 |
broome |
hello |
_ |
_ |
bash |
2.8 |
2.0 |
0.0 |
3.2 |
broome |
hello |
_ |
_ |
python2 |
15.2 |
10.8 |
3.6 |
7.3 |
broome |
palindrome |
bytes |
_ |
python2 |
33.7 |
24.7 |
9.6 |
7.6 |
broome |
palindrome |
bytes |
_ |
bash |
238.9 |
227.2 |
12.0 |
3.6 |
broome |
palindrome |
bytes |
_ |
osh_eval.stripped |
306.5 |
231.5 |
75.4 |
239.4 |
broome |
palindrome |
unicode |
_ |
python2 |
36.9 |
23.7 |
13.0 |
7.5 |
broome |
palindrome |
unicode |
_ |
bash |
215.0 |
196.5 |
18.4 |
3.5 |
broome |
palindrome |
unicode |
_ |
osh_eval.stripped |
345.8 |
237.2 |
109.1 |
239.5 |
broome |
parse_help |
ls |
_ |
bash |
30.9 |
22.4 |
8.7 |
3.8 |
broome |
parse_help |
ls |
_ |
osh_eval.stripped |
49.9 |
23.1 |
27.2 |
10.6 |
broome |
parse_help |
ls-short |
_ |
bash |
16.9 |
11.2 |
5.5 |
3.7 |
broome |
parse_help |
ls-short |
_ |
osh_eval.stripped |
17.9 |
13.3 |
5.0 |
5.0 |
broome |
parse_help |
mypy |
_ |
bash |
35.6 |
33.0 |
2.3 |
3.8 |
broome |
parse_help |
mypy |
_ |
osh_eval.stripped |
58.5 |
43.5 |
15.4 |
12.9 |
broome |
word_freq |
10 |
configure |
python2 |
32.2 |
32.3 |
1.3 |
7.4 |
broome |
word_freq |
10 |
configure |
osh_eval.stripped |
129.9 |
103.6 |
32.4 |
64.1 |
broome |
word_freq |
10 |
configure |
bash |
130.9 |
119.3 |
16.8 |
3.6 |
lenny |
bubble_sort |
bytes |
200 |
python2 |
13.0 |
13.0 |
0.3 |
7.2 |
lenny |
bubble_sort |
bytes |
200 |
osh_eval.stripped |
143.0 |
111.1 |
32.0 |
164.6 |
lenny |
bubble_sort |
bytes |
200 |
bash |
222.0 |
221.9 |
0.4 |
3.5 |
lenny |
bubble_sort |
int |
200 |
python2 |
29.3 |
22.3 |
7.3 |
7.4 |
lenny |
bubble_sort |
int |
200 |
osh_eval.stripped |
140.8 |
97.0 |
44.1 |
152.5 |
lenny |
bubble_sort |
int |
200 |
bash |
223.9 |
224.2 |
0.0 |
3.7 |
lenny |
fib |
200 |
44 |
python2 |
6.4 |
0.0 |
6.4 |
7.4 |
lenny |
fib |
200 |
44 |
dash |
17.2 |
17.2 |
0.0 |
1.7 |
lenny |
fib |
200 |
44 |
osh_eval.stripped |
69.1 |
48.7 |
20.3 |
102.2 |
lenny |
fib |
200 |
44 |
bash |
60.9 |
60.8 |
0.0 |
3.3 |
lenny |
hello |
_ |
_ |
dash |
0.4 |
0.3 |
0.0 |
1.7 |
lenny |
hello |
_ |
_ |
bash |
0.8 |
0.8 |
0.0 |
3.4 |
lenny |
hello |
_ |
_ |
osh_eval.stripped |
1.0 |
1.0 |
0.0 |
4.0 |
lenny |
hello |
_ |
_ |
python2 |
6.0 |
5.9 |
0.0 |
7.3 |
lenny |
palindrome |
bytes |
_ |
python2 |
13.4 |
13.7 |
0.0 |
7.4 |
lenny |
palindrome |
bytes |
_ |
bash |
138.5 |
119.7 |
19.1 |
3.6 |
lenny |
palindrome |
bytes |
_ |
osh_eval.stripped |
196.8 |
128.6 |
68.3 |
239.4 |
lenny |
palindrome |
unicode |
_ |
python2 |
15.9 |
12.4 |
3.8 |
7.5 |
lenny |
palindrome |
unicode |
_ |
bash |
150.6 |
138.4 |
12.2 |
3.7 |
lenny |
palindrome |
unicode |
_ |
osh_eval.stripped |
196.2 |
147.0 |
47.4 |
239.4 |
lenny |
parse_help |
ls |
_ |
bash |
18.1 |
14.5 |
3.7 |
3.7 |
lenny |
parse_help |
ls |
_ |
osh_eval.stripped |
28.7 |
24.5 |
4.5 |
10.4 |
lenny |
parse_help |
ls-short |
_ |
osh_eval.stripped |
7.1 |
2.0 |
5.3 |
5.2 |
lenny |
parse_help |
ls-short |
_ |
bash |
6.6 |
6.0 |
0.5 |
3.6 |
lenny |
parse_help |
mypy |
_ |
bash |
22.9 |
19.6 |
3.6 |
3.8 |
lenny |
parse_help |
mypy |
_ |
osh_eval.stripped |
37.6 |
24.1 |
13.8 |
12.8 |
lenny |
word_freq |
10 |
configure |
python2 |
13.2 |
14.1 |
0.0 |
7.5 |
lenny |
word_freq |
10 |
configure |
osh_eval.stripped |
62.3 |
38.6 |
25.8 |
64.1 |
lenny |
word_freq |
10 |
configure |
bash |
84.1 |
81.8 |
4.3 |
3.6 |