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.0 |
0.0 |
1.7 |
broome |
_ |
_ |
bash |
2.1 |
2.0 |
0.0 |
3.3 |
broome |
_ |
_ |
osh_eval.opt.stripped |
2.9 |
2.8 |
0.0 |
4.1 |
broome |
_ |
_ |
python2 |
17.4 |
13.0 |
4.3 |
7.2 |
lenny |
_ |
_ |
bash |
1.4 |
0.0 |
1.0 |
3.3 |
lenny |
_ |
_ |
dash |
0.5 |
0.0 |
0.5 |
1.8 |
lenny |
_ |
_ |
python2 |
6.8 |
0.0 |
6.8 |
7.1 |
lenny |
_ |
_ |
osh_eval.opt.stripped |
1.2 |
1.2 |
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 |
17.5 |
10.5 |
7.0 |
7.2 |
broome |
200 |
44 |
dash |
38.9 |
38.9 |
0.0 |
1.7 |
broome |
200 |
44 |
bash |
111.4 |
111.3 |
0.0 |
3.4 |
broome |
200 |
44 |
osh_eval.opt.stripped |
177.4 |
141.1 |
36.3 |
102.6 |
lenny |
200 |
44 |
python2 |
7.4 |
7.4 |
0.0 |
7.3 |
lenny |
200 |
44 |
dash |
17.7 |
17.6 |
0.0 |
1.8 |
lenny |
200 |
44 |
bash |
66.7 |
66.5 |
0.0 |
3.4 |
lenny |
200 |
44 |
osh_eval.opt.stripped |
103.1 |
78.4 |
24.8 |
102.7 |
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 |
24.9 |
11.0 |
7.4 |
broome |
10 |
configure |
osh_eval.opt.stripped |
157.6 |
132.0 |
31.8 |
65.4 |
broome |
10 |
configure |
bash |
165.4 |
158.7 |
12.7 |
3.5 |
lenny |
10 |
configure |
python2 |
17.0 |
14.7 |
3.3 |
7.6 |
lenny |
10 |
configure |
osh_eval.opt.stripped |
86.8 |
53.9 |
35.2 |
65.2 |
lenny |
10 |
configure |
bash |
86.4 |
84.7 |
4.0 |
3.6 |
parse_help (strings, real code)
host name |
arg1 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
ls |
osh_eval.opt.stripped |
55.7 |
32.4 |
23.7 |
10.8 |
broome |
ls |
bash |
37.9 |
38.4 |
0.0 |
3.8 |
broome |
ls-short |
bash |
16.7 |
16.0 |
1.2 |
3.8 |
broome |
ls-short |
osh_eval.opt.stripped |
18.2 |
17.3 |
1.3 |
5.4 |
broome |
mypy |
bash |
45.1 |
39.2 |
6.2 |
3.8 |
broome |
mypy |
osh_eval.opt.stripped |
67.9 |
60.3 |
8.0 |
12.9 |
lenny |
ls |
bash |
16.6 |
13.6 |
3.0 |
3.8 |
lenny |
ls |
osh_eval.opt.stripped |
25.9 |
26.2 |
0.0 |
10.8 |
lenny |
ls-short |
bash |
6.8 |
1.8 |
4.6 |
3.7 |
lenny |
ls-short |
osh_eval.opt.stripped |
7.8 |
6.3 |
1.8 |
5.4 |
lenny |
mypy |
bash |
21.4 |
19.9 |
1.6 |
3.7 |
lenny |
mypy |
osh_eval.opt.stripped |
33.5 |
29.9 |
4.0 |
13.1 |
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 |
34.7 |
15.5 |
19.8 |
7.2 |
broome |
bytes |
200 |
osh_eval.opt.stripped |
337.0 |
237.9 |
99.6 |
163.7 |
broome |
bytes |
200 |
bash |
354.9 |
350.4 |
5.0 |
3.6 |
broome |
int |
200 |
python2 |
52.5 |
44.3 |
8.7 |
7.2 |
broome |
int |
200 |
osh_eval.opt.stripped |
282.7 |
233.8 |
49.1 |
145.0 |
broome |
int |
200 |
bash |
376.7 |
376.1 |
1.4 |
3.6 |
lenny |
bytes |
200 |
python2 |
14.9 |
6.7 |
8.4 |
7.2 |
lenny |
bytes |
200 |
osh_eval.opt.stripped |
234.7 |
185.0 |
49.9 |
169.6 |
lenny |
bytes |
200 |
bash |
240.1 |
240.1 |
0.3 |
3.6 |
lenny |
int |
200 |
python2 |
33.6 |
33.0 |
0.5 |
7.3 |
lenny |
int |
200 |
osh_eval.opt.stripped |
217.4 |
162.1 |
55.8 |
152.8 |
lenny |
int |
200 |
bash |
237.8 |
237.8 |
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 |
34.7 |
15.5 |
19.8 |
7.2 |
broome |
bubble_sort |
bytes |
200 |
osh_eval.opt.stripped |
337.0 |
237.9 |
99.6 |
163.7 |
broome |
bubble_sort |
bytes |
200 |
bash |
354.9 |
350.4 |
5.0 |
3.6 |
broome |
bubble_sort |
int |
200 |
python2 |
52.5 |
44.3 |
8.7 |
7.2 |
broome |
bubble_sort |
int |
200 |
osh_eval.opt.stripped |
282.7 |
233.8 |
49.1 |
145.0 |
broome |
bubble_sort |
int |
200 |
bash |
376.7 |
376.1 |
1.4 |
3.6 |
broome |
fib |
200 |
44 |
python2 |
17.5 |
10.5 |
7.0 |
7.2 |
broome |
fib |
200 |
44 |
dash |
38.9 |
38.9 |
0.0 |
1.7 |
broome |
fib |
200 |
44 |
bash |
111.4 |
111.3 |
0.0 |
3.4 |
broome |
fib |
200 |
44 |
osh_eval.opt.stripped |
177.4 |
141.1 |
36.3 |
102.6 |
broome |
hello |
_ |
_ |
dash |
1.1 |
1.0 |
0.0 |
1.7 |
broome |
hello |
_ |
_ |
bash |
2.1 |
2.0 |
0.0 |
3.3 |
broome |
hello |
_ |
_ |
osh_eval.opt.stripped |
2.9 |
2.8 |
0.0 |
4.1 |
broome |
hello |
_ |
_ |
python2 |
17.4 |
13.0 |
4.3 |
7.2 |
broome |
palindrome |
bytes |
_ |
python2 |
32.1 |
22.6 |
10.1 |
7.3 |
broome |
palindrome |
bytes |
_ |
bash |
264.7 |
240.3 |
24.9 |
3.5 |
broome |
palindrome |
bytes |
_ |
osh_eval.opt.stripped |
431.9 |
309.7 |
122.7 |
237.4 |
broome |
palindrome |
unicode |
_ |
python2 |
37.6 |
32.6 |
5.4 |
7.5 |
broome |
palindrome |
unicode |
_ |
bash |
282.3 |
252.5 |
30.5 |
3.6 |
broome |
palindrome |
unicode |
_ |
osh_eval.opt.stripped |
422.5 |
306.8 |
116.3 |
237.5 |
broome |
parse_help |
ls |
_ |
osh_eval.opt.stripped |
55.7 |
32.4 |
23.7 |
10.8 |
broome |
parse_help |
ls |
_ |
bash |
37.9 |
38.4 |
0.0 |
3.8 |
broome |
parse_help |
ls-short |
_ |
bash |
16.7 |
16.0 |
1.2 |
3.8 |
broome |
parse_help |
ls-short |
_ |
osh_eval.opt.stripped |
18.2 |
17.3 |
1.3 |
5.4 |
broome |
parse_help |
mypy |
_ |
bash |
45.1 |
39.2 |
6.2 |
3.8 |
broome |
parse_help |
mypy |
_ |
osh_eval.opt.stripped |
67.9 |
60.3 |
8.0 |
12.9 |
broome |
word_freq |
10 |
configure |
python2 |
33.5 |
24.9 |
11.0 |
7.4 |
broome |
word_freq |
10 |
configure |
osh_eval.opt.stripped |
157.6 |
132.0 |
31.8 |
65.4 |
broome |
word_freq |
10 |
configure |
bash |
165.4 |
158.7 |
12.7 |
3.5 |
lenny |
bubble_sort |
bytes |
200 |
python2 |
14.9 |
6.7 |
8.4 |
7.2 |
lenny |
bubble_sort |
bytes |
200 |
osh_eval.opt.stripped |
234.7 |
185.0 |
49.9 |
169.6 |
lenny |
bubble_sort |
bytes |
200 |
bash |
240.1 |
240.1 |
0.3 |
3.6 |
lenny |
bubble_sort |
int |
200 |
python2 |
33.6 |
33.0 |
0.5 |
7.3 |
lenny |
bubble_sort |
int |
200 |
osh_eval.opt.stripped |
217.4 |
162.1 |
55.8 |
152.8 |
lenny |
bubble_sort |
int |
200 |
bash |
237.8 |
237.8 |
0.0 |
3.7 |
lenny |
fib |
200 |
44 |
python2 |
7.4 |
7.4 |
0.0 |
7.3 |
lenny |
fib |
200 |
44 |
dash |
17.7 |
17.6 |
0.0 |
1.8 |
lenny |
fib |
200 |
44 |
bash |
66.7 |
66.5 |
0.0 |
3.4 |
lenny |
fib |
200 |
44 |
osh_eval.opt.stripped |
103.1 |
78.4 |
24.8 |
102.7 |
lenny |
hello |
_ |
_ |
bash |
1.4 |
0.0 |
1.0 |
3.3 |
lenny |
hello |
_ |
_ |
dash |
0.5 |
0.0 |
0.5 |
1.8 |
lenny |
hello |
_ |
_ |
python2 |
6.8 |
0.0 |
6.8 |
7.1 |
lenny |
hello |
_ |
_ |
osh_eval.opt.stripped |
1.2 |
1.2 |
0.0 |
4.1 |
lenny |
palindrome |
bytes |
_ |
python2 |
16.2 |
16.1 |
0.5 |
7.4 |
lenny |
palindrome |
bytes |
_ |
bash |
147.7 |
143.9 |
4.0 |
3.7 |
lenny |
palindrome |
bytes |
_ |
osh_eval.opt.stripped |
279.3 |
203.5 |
76.3 |
237.4 |
lenny |
palindrome |
unicode |
_ |
python2 |
19.5 |
16.1 |
3.6 |
7.6 |
lenny |
palindrome |
unicode |
_ |
bash |
206.6 |
170.6 |
24.2 |
3.6 |
lenny |
palindrome |
unicode |
_ |
osh_eval.opt.stripped |
282.9 |
186.4 |
96.8 |
237.5 |
lenny |
parse_help |
ls |
_ |
bash |
16.6 |
13.6 |
3.0 |
3.8 |
lenny |
parse_help |
ls |
_ |
osh_eval.opt.stripped |
25.9 |
26.2 |
0.0 |
10.8 |
lenny |
parse_help |
ls-short |
_ |
bash |
6.8 |
1.8 |
4.6 |
3.7 |
lenny |
parse_help |
ls-short |
_ |
osh_eval.opt.stripped |
7.8 |
6.3 |
1.8 |
5.4 |
lenny |
parse_help |
mypy |
_ |
bash |
21.4 |
19.9 |
1.6 |
3.7 |
lenny |
parse_help |
mypy |
_ |
osh_eval.opt.stripped |
33.5 |
29.9 |
4.0 |
13.1 |
lenny |
word_freq |
10 |
configure |
python2 |
17.0 |
14.7 |
3.3 |
7.6 |
lenny |
word_freq |
10 |
configure |
osh_eval.opt.stripped |
86.8 |
53.9 |
35.2 |
65.2 |
lenny |
word_freq |
10 |
configure |
bash |
86.4 |
84.7 |
4.0 |
3.6 |