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 |
0.0 |
1.0 |
1.8 |
broome |
_ |
_ |
osh_eval.stripped |
2.8 |
0.0 |
2.8 |
4.2 |
broome |
_ |
_ |
bash |
2.1 |
2.0 |
0.0 |
3.4 |
broome |
_ |
_ |
python2 |
17.5 |
17.4 |
0.0 |
7.3 |
lenny |
_ |
_ |
bash |
0.8 |
0.0 |
0.8 |
3.3 |
lenny |
_ |
_ |
dash |
0.6 |
0.6 |
0.0 |
1.7 |
lenny |
_ |
_ |
osh_eval.stripped |
1.4 |
1.3 |
0.0 |
4.2 |
lenny |
_ |
_ |
python2 |
7.2 |
7.2 |
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 |
18.4 |
14.7 |
3.7 |
7.4 |
broome |
200 |
44 |
dash |
38.7 |
38.6 |
0.0 |
1.8 |
broome |
200 |
44 |
bash |
88.7 |
84.6 |
4.0 |
3.4 |
broome |
200 |
44 |
osh_eval.stripped |
232.3 |
168.1 |
64.0 |
122.5 |
lenny |
200 |
44 |
python2 |
6.8 |
6.7 |
0.0 |
7.4 |
lenny |
200 |
44 |
dash |
17.3 |
17.2 |
0.0 |
1.8 |
lenny |
200 |
44 |
bash |
62.7 |
62.6 |
0.0 |
3.4 |
lenny |
200 |
44 |
osh_eval.stripped |
131.2 |
107.3 |
23.9 |
122.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 |
35.0 |
28.5 |
8.7 |
7.6 |
broome |
10 |
configure |
osh_eval.stripped |
159.6 |
120.6 |
45.3 |
75.0 |
broome |
10 |
configure |
bash |
171.8 |
150.8 |
27.3 |
3.7 |
lenny |
10 |
configure |
python2 |
13.3 |
14.3 |
0.0 |
7.6 |
lenny |
10 |
configure |
bash |
81.0 |
82.6 |
0.4 |
3.7 |
lenny |
10 |
configure |
osh_eval.stripped |
100.3 |
82.6 |
19.9 |
74.8 |
parse_help (strings, real code)
host name |
arg1 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
ls |
bash |
37.4 |
31.7 |
6.1 |
3.8 |
broome |
ls |
osh_eval.stripped |
60.9 |
59.9 |
1.3 |
11.3 |
broome |
ls-short |
bash |
16.7 |
16.2 |
1.1 |
3.6 |
broome |
ls-short |
osh_eval.stripped |
18.6 |
18.0 |
0.9 |
5.3 |
broome |
mypy |
bash |
43.4 |
39.0 |
4.8 |
3.9 |
broome |
mypy |
osh_eval.stripped |
66.2 |
56.2 |
10.6 |
13.9 |
lenny |
ls |
bash |
17.1 |
15.8 |
1.4 |
3.7 |
lenny |
ls |
osh_eval.stripped |
30.2 |
26.4 |
4.0 |
11.4 |
lenny |
ls-short |
bash |
6.3 |
5.7 |
0.0 |
3.9 |
lenny |
ls-short |
osh_eval.stripped |
6.1 |
5.9 |
0.4 |
5.3 |
lenny |
mypy |
bash |
18.0 |
17.8 |
0.4 |
3.9 |
lenny |
mypy |
osh_eval.stripped |
40.6 |
36.5 |
4.4 |
14.2 |
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.1 |
21.5 |
12.0 |
7.4 |
broome |
bytes |
200 |
osh_eval.stripped |
400.7 |
304.2 |
96.8 |
195.7 |
broome |
bytes |
200 |
bash |
342.4 |
333.9 |
8.8 |
3.6 |
broome |
int |
200 |
python2 |
60.9 |
61.3 |
0.0 |
7.4 |
broome |
int |
200 |
osh_eval.stripped |
370.5 |
310.0 |
61.1 |
169.5 |
broome |
int |
200 |
bash |
354.1 |
348.4 |
6.3 |
3.6 |
lenny |
bytes |
200 |
python2 |
13.3 |
4.3 |
9.2 |
7.4 |
lenny |
bytes |
200 |
osh_eval.stripped |
268.3 |
205.7 |
62.7 |
204.2 |
lenny |
bytes |
200 |
bash |
232.0 |
228.2 |
4.0 |
3.6 |
lenny |
int |
200 |
python2 |
28.9 |
26.3 |
2.9 |
7.3 |
lenny |
int |
200 |
osh_eval.stripped |
248.3 |
208.3 |
40.2 |
180.7 |
lenny |
int |
200 |
bash |
228.2 |
225.0 |
3.5 |
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.1 |
21.5 |
12.0 |
7.4 |
broome |
bubble_sort |
bytes |
200 |
osh_eval.stripped |
400.7 |
304.2 |
96.8 |
195.7 |
broome |
bubble_sort |
bytes |
200 |
bash |
342.4 |
333.9 |
8.8 |
3.6 |
broome |
bubble_sort |
int |
200 |
python2 |
60.9 |
61.3 |
0.0 |
7.4 |
broome |
bubble_sort |
int |
200 |
osh_eval.stripped |
370.5 |
310.0 |
61.1 |
169.5 |
broome |
bubble_sort |
int |
200 |
bash |
354.1 |
348.4 |
6.3 |
3.6 |
broome |
fib |
200 |
44 |
python2 |
18.4 |
14.7 |
3.7 |
7.4 |
broome |
fib |
200 |
44 |
dash |
38.7 |
38.6 |
0.0 |
1.8 |
broome |
fib |
200 |
44 |
bash |
88.7 |
84.6 |
4.0 |
3.4 |
broome |
fib |
200 |
44 |
osh_eval.stripped |
232.3 |
168.1 |
64.0 |
122.5 |
broome |
hello |
_ |
_ |
dash |
1.1 |
0.0 |
1.0 |
1.8 |
broome |
hello |
_ |
_ |
osh_eval.stripped |
2.8 |
0.0 |
2.8 |
4.2 |
broome |
hello |
_ |
_ |
bash |
2.1 |
2.0 |
0.0 |
3.4 |
broome |
hello |
_ |
_ |
python2 |
17.5 |
17.4 |
0.0 |
7.3 |
broome |
palindrome |
bytes |
_ |
python2 |
33.8 |
31.5 |
2.8 |
7.4 |
broome |
palindrome |
bytes |
_ |
bash |
198.8 |
188.5 |
10.8 |
3.7 |
broome |
palindrome |
bytes |
_ |
osh_eval.stripped |
540.2 |
415.9 |
124.7 |
277.3 |
broome |
palindrome |
unicode |
_ |
python2 |
37.6 |
23.8 |
14.2 |
7.5 |
broome |
palindrome |
unicode |
_ |
bash |
258.2 |
242.6 |
16.2 |
3.5 |
broome |
palindrome |
unicode |
_ |
osh_eval.stripped |
533.4 |
408.4 |
125.3 |
277.2 |
broome |
parse_help |
ls |
_ |
bash |
37.4 |
31.7 |
6.1 |
3.8 |
broome |
parse_help |
ls |
_ |
osh_eval.stripped |
60.9 |
59.9 |
1.3 |
11.3 |
broome |
parse_help |
ls-short |
_ |
bash |
16.7 |
16.2 |
1.1 |
3.6 |
broome |
parse_help |
ls-short |
_ |
osh_eval.stripped |
18.6 |
18.0 |
0.9 |
5.3 |
broome |
parse_help |
mypy |
_ |
bash |
43.4 |
39.0 |
4.8 |
3.9 |
broome |
parse_help |
mypy |
_ |
osh_eval.stripped |
66.2 |
56.2 |
10.6 |
13.9 |
broome |
word_freq |
10 |
configure |
python2 |
35.0 |
28.5 |
8.7 |
7.6 |
broome |
word_freq |
10 |
configure |
osh_eval.stripped |
159.6 |
120.6 |
45.3 |
75.0 |
broome |
word_freq |
10 |
configure |
bash |
171.8 |
150.8 |
27.3 |
3.7 |
lenny |
bubble_sort |
bytes |
200 |
python2 |
13.3 |
4.3 |
9.2 |
7.4 |
lenny |
bubble_sort |
bytes |
200 |
osh_eval.stripped |
268.3 |
205.7 |
62.7 |
204.2 |
lenny |
bubble_sort |
bytes |
200 |
bash |
232.0 |
228.2 |
4.0 |
3.6 |
lenny |
bubble_sort |
int |
200 |
python2 |
28.9 |
26.3 |
2.9 |
7.3 |
lenny |
bubble_sort |
int |
200 |
osh_eval.stripped |
248.3 |
208.3 |
40.2 |
180.7 |
lenny |
bubble_sort |
int |
200 |
bash |
228.2 |
225.0 |
3.5 |
3.7 |
lenny |
fib |
200 |
44 |
python2 |
6.8 |
6.7 |
0.0 |
7.4 |
lenny |
fib |
200 |
44 |
dash |
17.3 |
17.2 |
0.0 |
1.8 |
lenny |
fib |
200 |
44 |
bash |
62.7 |
62.6 |
0.0 |
3.4 |
lenny |
fib |
200 |
44 |
osh_eval.stripped |
131.2 |
107.3 |
23.9 |
122.7 |
lenny |
hello |
_ |
_ |
bash |
0.8 |
0.0 |
0.8 |
3.3 |
lenny |
hello |
_ |
_ |
dash |
0.6 |
0.6 |
0.0 |
1.7 |
lenny |
hello |
_ |
_ |
osh_eval.stripped |
1.4 |
1.3 |
0.0 |
4.2 |
lenny |
hello |
_ |
_ |
python2 |
7.2 |
7.2 |
0.0 |
7.3 |
lenny |
palindrome |
bytes |
_ |
python2 |
12.9 |
7.5 |
5.7 |
7.5 |
lenny |
palindrome |
bytes |
_ |
bash |
136.5 |
128.7 |
8.0 |
3.6 |
lenny |
palindrome |
bytes |
_ |
osh_eval.stripped |
367.2 |
311.1 |
56.4 |
277.2 |
lenny |
palindrome |
unicode |
_ |
python2 |
14.7 |
14.9 |
0.0 |
7.6 |
lenny |
palindrome |
unicode |
_ |
bash |
150.7 |
150.6 |
0.4 |
3.7 |
lenny |
palindrome |
unicode |
_ |
osh_eval.stripped |
372.4 |
312.3 |
60.4 |
277.3 |
lenny |
parse_help |
ls |
_ |
bash |
17.1 |
15.8 |
1.4 |
3.7 |
lenny |
parse_help |
ls |
_ |
osh_eval.stripped |
30.2 |
26.4 |
4.0 |
11.4 |
lenny |
parse_help |
ls-short |
_ |
bash |
6.3 |
5.7 |
0.0 |
3.9 |
lenny |
parse_help |
ls-short |
_ |
osh_eval.stripped |
6.1 |
5.9 |
0.4 |
5.3 |
lenny |
parse_help |
mypy |
_ |
bash |
18.0 |
17.8 |
0.4 |
3.9 |
lenny |
parse_help |
mypy |
_ |
osh_eval.stripped |
40.6 |
36.5 |
4.4 |
14.2 |
lenny |
word_freq |
10 |
configure |
python2 |
13.3 |
14.3 |
0.0 |
7.6 |
lenny |
word_freq |
10 |
configure |
bash |
81.0 |
82.6 |
0.4 |
3.7 |
lenny |
word_freq |
10 |
configure |
osh_eval.stripped |
100.3 |
82.6 |
19.9 |
74.8 |