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.opt.stripped |
3.0 |
0.0 |
2.9 |
4.2 |
broome |
_ |
_ |
dash |
1.1 |
1.0 |
0.0 |
1.8 |
broome |
_ |
_ |
bash |
2.0 |
2.0 |
0.0 |
3.4 |
broome |
_ |
_ |
python |
17.0 |
17.0 |
0.0 |
7.2 |
spring |
_ |
_ |
bash |
2.1 |
0.0 |
2.0 |
3.4 |
spring |
_ |
_ |
dash |
1.1 |
1.0 |
0.0 |
1.8 |
spring |
_ |
_ |
osh_eval.opt.stripped |
2.8 |
2.7 |
0.0 |
4.2 |
spring |
_ |
_ |
python |
15.9 |
15.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 |
python |
16.8 |
10.1 |
6.7 |
7.4 |
broome |
200 |
44 |
dash |
38.0 |
38.0 |
0.0 |
1.7 |
broome |
200 |
44 |
bash |
96.7 |
96.7 |
0.0 |
3.4 |
broome |
200 |
44 |
osh_eval.opt.stripped |
170.8 |
143.0 |
27.8 |
101.7 |
spring |
200 |
44 |
python |
17.6 |
14.0 |
3.5 |
7.3 |
spring |
200 |
44 |
dash |
37.0 |
37.0 |
0.0 |
1.7 |
spring |
200 |
44 |
bash |
110.1 |
110.1 |
0.0 |
3.3 |
spring |
200 |
44 |
osh_eval.opt.stripped |
172.8 |
113.9 |
58.9 |
101.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 |
python |
32.8 |
23.7 |
11.4 |
7.4 |
broome |
10 |
configure |
osh_eval.opt.stripped |
150.6 |
108.2 |
44.4 |
64.4 |
broome |
10 |
configure |
bash |
160.1 |
142.5 |
23.4 |
3.6 |
spring |
10 |
configure |
python |
30.2 |
27.8 |
4.5 |
7.5 |
spring |
10 |
configure |
osh_eval.opt.stripped |
151.1 |
116.3 |
36.9 |
64.5 |
spring |
10 |
configure |
bash |
159.5 |
137.3 |
28.1 |
3.7 |
parse_help (strings, real code)
host name |
arg1 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
ls |
bash |
33.7 |
30.4 |
3.6 |
3.6 |
broome |
ls |
osh_eval.opt.stripped |
39.4 |
39.7 |
0.0 |
10.7 |
broome |
ls-short |
bash |
13.0 |
9.4 |
3.9 |
3.8 |
broome |
ls-short |
osh_eval.opt.stripped |
14.0 |
14.3 |
0.0 |
5.3 |
broome |
mypy |
bash |
39.9 |
36.8 |
3.3 |
3.8 |
broome |
mypy |
osh_eval.opt.stripped |
53.3 |
45.6 |
8.0 |
12.8 |
spring |
ls |
osh_eval.opt.stripped |
43.3 |
27.2 |
16.4 |
10.6 |
spring |
ls |
bash |
30.8 |
31.0 |
0.0 |
3.8 |
spring |
ls-short |
osh_eval.opt.stripped |
13.6 |
8.0 |
5.8 |
5.4 |
spring |
ls-short |
bash |
13.0 |
9.4 |
3.9 |
3.6 |
spring |
mypy |
bash |
41.1 |
36.7 |
4.8 |
3.8 |
spring |
mypy |
osh_eval.opt.stripped |
49.7 |
38.8 |
11.1 |
13.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 |
python |
28.5 |
21.3 |
7.6 |
7.2 |
broome |
bytes |
200 |
osh_eval.opt.stripped |
381.8 |
286.3 |
95.9 |
170.1 |
broome |
bytes |
200 |
bash |
406.7 |
403.1 |
4.0 |
3.6 |
broome |
int |
200 |
python |
63.2 |
63.5 |
0.0 |
7.3 |
broome |
int |
200 |
osh_eval.opt.stripped |
371.4 |
307.6 |
64.2 |
153.5 |
broome |
int |
200 |
bash |
409.9 |
409.5 |
0.9 |
3.7 |
spring |
bytes |
200 |
python |
29.6 |
24.8 |
5.3 |
7.3 |
spring |
bytes |
200 |
osh_eval.opt.stripped |
320.5 |
253.1 |
67.7 |
155.2 |
spring |
bytes |
200 |
bash |
378.2 |
374.8 |
3.9 |
3.6 |
spring |
int |
200 |
python |
54.1 |
54.5 |
0.0 |
7.3 |
spring |
int |
200 |
osh_eval.opt.stripped |
323.7 |
282.3 |
41.8 |
146.0 |
spring |
int |
200 |
bash |
385.6 |
386.0 |
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 |
python |
28.5 |
21.3 |
7.6 |
7.2 |
broome |
bubble_sort |
bytes |
200 |
osh_eval.opt.stripped |
381.8 |
286.3 |
95.9 |
170.1 |
broome |
bubble_sort |
bytes |
200 |
bash |
406.7 |
403.1 |
4.0 |
3.6 |
broome |
bubble_sort |
int |
200 |
python |
63.2 |
63.5 |
0.0 |
7.3 |
broome |
bubble_sort |
int |
200 |
osh_eval.opt.stripped |
371.4 |
307.6 |
64.2 |
153.5 |
broome |
bubble_sort |
int |
200 |
bash |
409.9 |
409.5 |
0.9 |
3.7 |
broome |
fib |
200 |
44 |
python |
16.8 |
10.1 |
6.7 |
7.4 |
broome |
fib |
200 |
44 |
dash |
38.0 |
38.0 |
0.0 |
1.7 |
broome |
fib |
200 |
44 |
bash |
96.7 |
96.7 |
0.0 |
3.4 |
broome |
fib |
200 |
44 |
osh_eval.opt.stripped |
170.8 |
143.0 |
27.8 |
101.7 |
broome |
hello |
_ |
_ |
osh_eval.opt.stripped |
3.0 |
0.0 |
2.9 |
4.2 |
broome |
hello |
_ |
_ |
dash |
1.1 |
1.0 |
0.0 |
1.8 |
broome |
hello |
_ |
_ |
bash |
2.0 |
2.0 |
0.0 |
3.4 |
broome |
hello |
_ |
_ |
python |
17.0 |
17.0 |
0.0 |
7.2 |
broome |
palindrome |
bytes |
_ |
python |
28.7 |
25.2 |
3.8 |
7.4 |
broome |
palindrome |
bytes |
_ |
bash |
238.0 |
226.6 |
11.8 |
3.7 |
broome |
palindrome |
bytes |
_ |
osh_eval.opt.stripped |
459.6 |
330.7 |
129.4 |
235.9 |
broome |
palindrome |
unicode |
_ |
python |
35.6 |
25.1 |
10.9 |
7.5 |
broome |
palindrome |
unicode |
_ |
bash |
283.9 |
247.7 |
36.6 |
3.7 |
broome |
palindrome |
unicode |
_ |
osh_eval.opt.stripped |
444.9 |
284.5 |
160.6 |
236.0 |
broome |
parse_help |
ls |
_ |
bash |
33.7 |
30.4 |
3.6 |
3.6 |
broome |
parse_help |
ls |
_ |
osh_eval.opt.stripped |
39.4 |
39.7 |
0.0 |
10.7 |
broome |
parse_help |
ls-short |
_ |
bash |
13.0 |
9.4 |
3.9 |
3.8 |
broome |
parse_help |
ls-short |
_ |
osh_eval.opt.stripped |
14.0 |
14.3 |
0.0 |
5.3 |
broome |
parse_help |
mypy |
_ |
bash |
39.9 |
36.8 |
3.3 |
3.8 |
broome |
parse_help |
mypy |
_ |
osh_eval.opt.stripped |
53.3 |
45.6 |
8.0 |
12.8 |
broome |
word_freq |
10 |
configure |
python |
32.8 |
23.7 |
11.4 |
7.4 |
broome |
word_freq |
10 |
configure |
osh_eval.opt.stripped |
150.6 |
108.2 |
44.4 |
64.4 |
broome |
word_freq |
10 |
configure |
bash |
160.1 |
142.5 |
23.4 |
3.6 |
spring |
bubble_sort |
bytes |
200 |
python |
29.6 |
24.8 |
5.3 |
7.3 |
spring |
bubble_sort |
bytes |
200 |
osh_eval.opt.stripped |
320.5 |
253.1 |
67.7 |
155.2 |
spring |
bubble_sort |
bytes |
200 |
bash |
378.2 |
374.8 |
3.9 |
3.6 |
spring |
bubble_sort |
int |
200 |
python |
54.1 |
54.5 |
0.0 |
7.3 |
spring |
bubble_sort |
int |
200 |
osh_eval.opt.stripped |
323.7 |
282.3 |
41.8 |
146.0 |
spring |
bubble_sort |
int |
200 |
bash |
385.6 |
386.0 |
0.0 |
3.6 |
spring |
fib |
200 |
44 |
python |
17.6 |
14.0 |
3.5 |
7.3 |
spring |
fib |
200 |
44 |
dash |
37.0 |
37.0 |
0.0 |
1.7 |
spring |
fib |
200 |
44 |
bash |
110.1 |
110.1 |
0.0 |
3.3 |
spring |
fib |
200 |
44 |
osh_eval.opt.stripped |
172.8 |
113.9 |
58.9 |
101.5 |
spring |
hello |
_ |
_ |
bash |
2.1 |
0.0 |
2.0 |
3.4 |
spring |
hello |
_ |
_ |
dash |
1.1 |
1.0 |
0.0 |
1.8 |
spring |
hello |
_ |
_ |
osh_eval.opt.stripped |
2.8 |
2.7 |
0.0 |
4.2 |
spring |
hello |
_ |
_ |
python |
15.9 |
15.9 |
0.0 |
7.3 |
spring |
palindrome |
bytes |
_ |
python |
32.3 |
17.8 |
14.8 |
7.5 |
spring |
palindrome |
bytes |
_ |
bash |
240.2 |
224.9 |
15.7 |
3.5 |
spring |
palindrome |
bytes |
_ |
osh_eval.opt.stripped |
415.6 |
299.6 |
116.3 |
236.1 |
spring |
palindrome |
unicode |
_ |
python |
34.0 |
26.6 |
7.9 |
7.5 |
spring |
palindrome |
unicode |
_ |
bash |
243.5 |
222.8 |
21.1 |
3.6 |
spring |
palindrome |
unicode |
_ |
osh_eval.opt.stripped |
432.4 |
333.7 |
99.1 |
235.9 |
spring |
parse_help |
ls |
_ |
osh_eval.opt.stripped |
43.3 |
27.2 |
16.4 |
10.6 |
spring |
parse_help |
ls |
_ |
bash |
30.8 |
31.0 |
0.0 |
3.8 |
spring |
parse_help |
ls-short |
_ |
osh_eval.opt.stripped |
13.6 |
8.0 |
5.8 |
5.4 |
spring |
parse_help |
ls-short |
_ |
bash |
13.0 |
9.4 |
3.9 |
3.6 |
spring |
parse_help |
mypy |
_ |
bash |
41.1 |
36.7 |
4.8 |
3.8 |
spring |
parse_help |
mypy |
_ |
osh_eval.opt.stripped |
49.7 |
38.8 |
11.1 |
13.2 |
spring |
word_freq |
10 |
configure |
python |
30.2 |
27.8 |
4.5 |
7.5 |
spring |
word_freq |
10 |
configure |
osh_eval.opt.stripped |
151.1 |
116.3 |
36.9 |
64.5 |
spring |
word_freq |
10 |
configure |
bash |
159.5 |
137.3 |
28.1 |
3.7 |