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.1 |
1.7 |
broome |
_ |
_ |
bash |
2.1 |
2.0 |
0.0 |
3.4 |
broome |
_ |
_ |
osh_eval.opt.stripped |
2.4 |
2.4 |
0.0 |
4.1 |
broome |
_ |
_ |
python |
14.0 |
13.9 |
0.0 |
7.2 |
spring |
_ |
_ |
bash |
2.0 |
0.0 |
2.0 |
3.4 |
spring |
_ |
_ |
osh_eval.opt.stripped |
2.9 |
0.0 |
2.8 |
4.2 |
spring |
_ |
_ |
dash |
1.1 |
1.0 |
0.0 |
1.7 |
spring |
_ |
_ |
python |
14.7 |
3.7 |
11.0 |
7.2 |
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 |
14.9 |
14.9 |
0.0 |
7.4 |
broome |
200 |
44 |
dash |
36.6 |
36.6 |
0.0 |
1.7 |
broome |
200 |
44 |
bash |
111.4 |
111.4 |
0.0 |
3.4 |
broome |
200 |
44 |
osh_eval.opt.stripped |
174.0 |
114.7 |
59.3 |
99.9 |
spring |
200 |
44 |
python |
18.4 |
14.7 |
3.7 |
7.3 |
spring |
200 |
44 |
dash |
40.0 |
36.0 |
4.0 |
1.7 |
spring |
200 |
44 |
osh_eval.opt.stripped |
152.2 |
100.1 |
52.1 |
99.8 |
spring |
200 |
44 |
bash |
110.2 |
110.2 |
0.0 |
3.4 |
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.0 |
25.2 |
8.9 |
7.4 |
broome |
10 |
configure |
osh_eval.opt.stripped |
147.8 |
102.2 |
47.7 |
65.0 |
broome |
10 |
configure |
bash |
171.2 |
152.9 |
24.2 |
3.6 |
spring |
10 |
configure |
python |
32.6 |
13.6 |
21.0 |
7.6 |
spring |
10 |
configure |
osh_eval.opt.stripped |
151.3 |
88.6 |
64.7 |
65.0 |
spring |
10 |
configure |
bash |
156.1 |
144.5 |
18.0 |
3.5 |
parse_help (strings, real code)
host name |
arg1 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
broome |
ls |
bash |
31.8 |
24.7 |
7.4 |
3.7 |
broome |
ls |
osh_eval.opt.stripped |
37.3 |
29.9 |
7.7 |
10.9 |
broome |
ls-short |
bash |
12.9 |
8.4 |
4.8 |
3.6 |
broome |
ls-short |
osh_eval.opt.stripped |
14.1 |
12.0 |
2.5 |
5.3 |
broome |
mypy |
osh_eval.opt.stripped |
54.1 |
35.6 |
18.8 |
13.4 |
broome |
mypy |
bash |
39.1 |
39.4 |
0.0 |
3.6 |
spring |
ls |
bash |
35.7 |
27.4 |
8.6 |
3.7 |
spring |
ls |
osh_eval.opt.stripped |
40.4 |
29.2 |
11.5 |
11.0 |
spring |
ls-short |
bash |
13.1 |
13.4 |
0.0 |
3.9 |
spring |
ls-short |
osh_eval.opt.stripped |
14.2 |
13.5 |
0.9 |
5.3 |
spring |
mypy |
bash |
40.9 |
29.1 |
12.1 |
3.8 |
spring |
mypy |
osh_eval.opt.stripped |
51.8 |
44.2 |
7.9 |
13.4 |
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 |
31.2 |
24.8 |
6.8 |
7.2 |
broome |
bytes |
200 |
osh_eval.opt.stripped |
340.4 |
269.0 |
71.7 |
165.4 |
broome |
bytes |
200 |
bash |
397.2 |
397.6 |
0.0 |
3.5 |
broome |
int |
200 |
python |
52.5 |
43.4 |
9.4 |
7.2 |
broome |
int |
200 |
osh_eval.opt.stripped |
348.4 |
322.5 |
26.2 |
150.1 |
broome |
int |
200 |
bash |
398.9 |
392.5 |
6.8 |
3.6 |
spring |
bytes |
200 |
python |
29.0 |
17.9 |
11.6 |
7.3 |
spring |
bytes |
200 |
osh_eval.opt.stripped |
295.4 |
234.7 |
61.3 |
145.2 |
spring |
bytes |
200 |
bash |
356.9 |
353.1 |
4.0 |
3.6 |
spring |
int |
200 |
python |
57.1 |
49.4 |
8.0 |
7.2 |
spring |
int |
200 |
osh_eval.opt.stripped |
325.8 |
237.4 |
88.7 |
153.8 |
spring |
int |
200 |
bash |
417.6 |
414.1 |
4.0 |
3.5 |
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 |
31.2 |
24.8 |
6.8 |
7.2 |
broome |
bubble_sort |
bytes |
200 |
osh_eval.opt.stripped |
340.4 |
269.0 |
71.7 |
165.4 |
broome |
bubble_sort |
bytes |
200 |
bash |
397.2 |
397.6 |
0.0 |
3.5 |
broome |
bubble_sort |
int |
200 |
python |
52.5 |
43.4 |
9.4 |
7.2 |
broome |
bubble_sort |
int |
200 |
osh_eval.opt.stripped |
348.4 |
322.5 |
26.2 |
150.1 |
broome |
bubble_sort |
int |
200 |
bash |
398.9 |
392.5 |
6.8 |
3.6 |
broome |
fib |
200 |
44 |
python |
14.9 |
14.9 |
0.0 |
7.4 |
broome |
fib |
200 |
44 |
dash |
36.6 |
36.6 |
0.0 |
1.7 |
broome |
fib |
200 |
44 |
bash |
111.4 |
111.4 |
0.0 |
3.4 |
broome |
fib |
200 |
44 |
osh_eval.opt.stripped |
174.0 |
114.7 |
59.3 |
99.9 |
broome |
hello |
_ |
_ |
dash |
1.1 |
0.0 |
1.1 |
1.7 |
broome |
hello |
_ |
_ |
bash |
2.1 |
2.0 |
0.0 |
3.4 |
broome |
hello |
_ |
_ |
osh_eval.opt.stripped |
2.4 |
2.4 |
0.0 |
4.1 |
broome |
hello |
_ |
_ |
python |
14.0 |
13.9 |
0.0 |
7.2 |
broome |
palindrome |
bytes |
_ |
python |
31.9 |
32.3 |
0.0 |
7.5 |
broome |
palindrome |
bytes |
_ |
bash |
250.0 |
222.5 |
27.7 |
3.6 |
broome |
palindrome |
bytes |
_ |
osh_eval.opt.stripped |
438.1 |
326.5 |
111.9 |
232.4 |
broome |
palindrome |
unicode |
_ |
python |
35.5 |
27.8 |
8.1 |
7.5 |
broome |
palindrome |
unicode |
_ |
bash |
253.1 |
243.4 |
10.1 |
3.6 |
broome |
palindrome |
unicode |
_ |
osh_eval.opt.stripped |
434.2 |
330.9 |
103.8 |
232.3 |
broome |
parse_help |
ls |
_ |
bash |
31.8 |
24.7 |
7.4 |
3.7 |
broome |
parse_help |
ls |
_ |
osh_eval.opt.stripped |
37.3 |
29.9 |
7.7 |
10.9 |
broome |
parse_help |
ls-short |
_ |
bash |
12.9 |
8.4 |
4.8 |
3.6 |
broome |
parse_help |
ls-short |
_ |
osh_eval.opt.stripped |
14.1 |
12.0 |
2.5 |
5.3 |
broome |
parse_help |
mypy |
_ |
osh_eval.opt.stripped |
54.1 |
35.6 |
18.8 |
13.4 |
broome |
parse_help |
mypy |
_ |
bash |
39.1 |
39.4 |
0.0 |
3.6 |
broome |
word_freq |
10 |
configure |
python |
32.0 |
25.2 |
8.9 |
7.4 |
broome |
word_freq |
10 |
configure |
osh_eval.opt.stripped |
147.8 |
102.2 |
47.7 |
65.0 |
broome |
word_freq |
10 |
configure |
bash |
171.2 |
152.9 |
24.2 |
3.6 |
spring |
bubble_sort |
bytes |
200 |
python |
29.0 |
17.9 |
11.6 |
7.3 |
spring |
bubble_sort |
bytes |
200 |
osh_eval.opt.stripped |
295.4 |
234.7 |
61.3 |
145.2 |
spring |
bubble_sort |
bytes |
200 |
bash |
356.9 |
353.1 |
4.0 |
3.6 |
spring |
bubble_sort |
int |
200 |
python |
57.1 |
49.4 |
8.0 |
7.2 |
spring |
bubble_sort |
int |
200 |
osh_eval.opt.stripped |
325.8 |
237.4 |
88.7 |
153.8 |
spring |
bubble_sort |
int |
200 |
bash |
417.6 |
414.1 |
4.0 |
3.5 |
spring |
fib |
200 |
44 |
python |
18.4 |
14.7 |
3.7 |
7.3 |
spring |
fib |
200 |
44 |
dash |
40.0 |
36.0 |
4.0 |
1.7 |
spring |
fib |
200 |
44 |
osh_eval.opt.stripped |
152.2 |
100.1 |
52.1 |
99.8 |
spring |
fib |
200 |
44 |
bash |
110.2 |
110.2 |
0.0 |
3.4 |
spring |
hello |
_ |
_ |
bash |
2.0 |
0.0 |
2.0 |
3.4 |
spring |
hello |
_ |
_ |
osh_eval.opt.stripped |
2.9 |
0.0 |
2.8 |
4.2 |
spring |
hello |
_ |
_ |
dash |
1.1 |
1.0 |
0.0 |
1.7 |
spring |
hello |
_ |
_ |
python |
14.7 |
3.7 |
11.0 |
7.2 |
spring |
palindrome |
bytes |
_ |
python |
29.7 |
16.5 |
13.5 |
7.6 |
spring |
palindrome |
bytes |
_ |
bash |
223.0 |
194.7 |
28.7 |
3.7 |
spring |
palindrome |
bytes |
_ |
osh_eval.opt.stripped |
437.1 |
341.7 |
95.7 |
232.5 |
spring |
palindrome |
unicode |
_ |
python |
30.4 |
28.1 |
2.5 |
7.5 |
spring |
palindrome |
unicode |
_ |
bash |
284.1 |
261.7 |
22.7 |
3.6 |
spring |
palindrome |
unicode |
_ |
osh_eval.opt.stripped |
403.5 |
307.5 |
96.4 |
232.4 |
spring |
parse_help |
ls |
_ |
bash |
35.7 |
27.4 |
8.6 |
3.7 |
spring |
parse_help |
ls |
_ |
osh_eval.opt.stripped |
40.4 |
29.2 |
11.5 |
11.0 |
spring |
parse_help |
ls-short |
_ |
bash |
13.1 |
13.4 |
0.0 |
3.9 |
spring |
parse_help |
ls-short |
_ |
osh_eval.opt.stripped |
14.2 |
13.5 |
0.9 |
5.3 |
spring |
parse_help |
mypy |
_ |
bash |
40.9 |
29.1 |
12.1 |
3.8 |
spring |
parse_help |
mypy |
_ |
osh_eval.opt.stripped |
51.8 |
44.2 |
7.9 |
13.4 |
spring |
word_freq |
10 |
configure |
python |
32.6 |
13.6 |
21.0 |
7.6 |
spring |
word_freq |
10 |
configure |
osh_eval.opt.stripped |
151.3 |
88.6 |
64.7 |
65.0 |
spring |
word_freq |
10 |
configure |
bash |
156.1 |
144.5 |
18.0 |
3.5 |