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 |
flanders |
_ |
_ |
dash |
1.8 |
1.8 |
0.0 |
1.8 |
flanders |
_ |
_ |
bash |
2.7 |
2.7 |
0.0 |
3.1 |
flanders |
_ |
_ |
osh_eval.opt.stripped |
3.7 |
3.7 |
0.0 |
4.0 |
flanders |
_ |
_ |
python |
26.2 |
13.1 |
13.1 |
6.8 |
lisa |
_ |
_ |
bash |
0.9 |
0.0 |
0.9 |
3.1 |
lisa |
_ |
_ |
dash |
0.4 |
0.4 |
0.0 |
1.6 |
lisa |
_ |
_ |
osh_eval.opt.stripped |
1.2 |
1.2 |
0.0 |
3.8 |
lisa |
_ |
_ |
python |
9.7 |
4.8 |
4.8 |
6.9 |
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 |
flanders |
200 |
44 |
python |
27.4 |
22.8 |
4.6 |
6.9 |
flanders |
200 |
44 |
dash |
72.1 |
72.0 |
0.0 |
1.8 |
flanders |
200 |
44 |
bash |
316.4 |
308.4 |
8.0 |
3.1 |
flanders |
200 |
44 |
osh_eval.opt.stripped |
374.3 |
309.9 |
64.4 |
98.9 |
lisa |
200 |
44 |
python |
9.8 |
9.8 |
0.0 |
6.9 |
lisa |
200 |
44 |
dash |
19.0 |
18.9 |
0.0 |
1.7 |
lisa |
200 |
44 |
osh_eval.opt.stripped |
95.1 |
55.4 |
39.6 |
98.8 |
lisa |
200 |
44 |
bash |
73.0 |
72.9 |
0.0 |
3.1 |
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 |
flanders |
10 |
configure |
python |
53.4 |
35.2 |
21.0 |
7.0 |
flanders |
10 |
configure |
osh_eval.opt.stripped |
286.3 |
209.4 |
79.5 |
63.5 |
flanders |
10 |
configure |
bash |
392.0 |
382.3 |
18.5 |
3.4 |
lisa |
10 |
configure |
python |
14.7 |
15.7 |
0.0 |
7.2 |
lisa |
10 |
configure |
osh_eval.opt.stripped |
96.0 |
67.1 |
29.8 |
63.6 |
lisa |
10 |
configure |
bash |
91.5 |
87.7 |
6.8 |
3.4 |
parse_help (strings, real code)
host name |
arg1 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
flanders |
ls |
bash |
56.4 |
52.6 |
4.2 |
3.8 |
flanders |
ls |
osh_eval.opt.stripped |
71.9 |
54.1 |
18.2 |
10.5 |
flanders |
ls-short |
osh_eval.opt.stripped |
21.2 |
16.2 |
5.5 |
4.9 |
flanders |
ls-short |
bash |
20.1 |
17.5 |
2.9 |
3.4 |
flanders |
mypy |
bash |
70.2 |
65.2 |
5.3 |
3.6 |
flanders |
mypy |
osh_eval.opt.stripped |
92.3 |
71.0 |
21.6 |
12.9 |
lisa |
ls |
osh_eval.opt.stripped |
21.6 |
12.6 |
9.1 |
10.6 |
lisa |
ls |
bash |
15.6 |
15.2 |
0.4 |
3.6 |
lisa |
ls-short |
bash |
9.1 |
5.5 |
0.0 |
3.6 |
lisa |
ls-short |
osh_eval.opt.stripped |
5.8 |
5.9 |
0.0 |
4.9 |
lisa |
mypy |
bash |
18.4 |
18.4 |
0.0 |
3.5 |
lisa |
mypy |
osh_eval.opt.stripped |
29.0 |
24.8 |
4.2 |
12.9 |
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 |
flanders |
bytes |
200 |
python |
49.6 |
40.0 |
10.2 |
6.8 |
flanders |
bytes |
200 |
osh_eval.opt.stripped |
685.2 |
604.9 |
80.9 |
157.6 |
flanders |
bytes |
200 |
bash |
952.8 |
946.3 |
7.2 |
3.3 |
flanders |
int |
200 |
python |
90.9 |
78.1 |
13.3 |
6.7 |
flanders |
int |
200 |
osh_eval.opt.stripped |
678.7 |
573.4 |
105.6 |
140.3 |
flanders |
int |
200 |
bash |
899.9 |
899.3 |
1.1 |
3.3 |
lisa |
bytes |
200 |
python |
15.1 |
11.5 |
3.8 |
7.0 |
lisa |
bytes |
200 |
osh_eval.opt.stripped |
231.7 |
193.9 |
36.2 |
151.2 |
lisa |
bytes |
200 |
bash |
269.1 |
267.6 |
0.4 |
3.4 |
lisa |
int |
200 |
python |
30.6 |
26.4 |
4.3 |
7.0 |
lisa |
int |
200 |
osh_eval.opt.stripped |
226.9 |
188.2 |
38.8 |
145.6 |
lisa |
int |
200 |
bash |
261.2 |
261.0 |
0.0 |
3.4 |
Interpreter and Host Details
Details
host name |
task name |
arg1 |
arg2 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
flanders |
bubble_sort |
bytes |
200 |
python |
49.6 |
40.0 |
10.2 |
6.8 |
flanders |
bubble_sort |
bytes |
200 |
osh_eval.opt.stripped |
685.2 |
604.9 |
80.9 |
157.6 |
flanders |
bubble_sort |
bytes |
200 |
bash |
952.8 |
946.3 |
7.2 |
3.3 |
flanders |
bubble_sort |
int |
200 |
python |
90.9 |
78.1 |
13.3 |
6.7 |
flanders |
bubble_sort |
int |
200 |
osh_eval.opt.stripped |
678.7 |
573.4 |
105.6 |
140.3 |
flanders |
bubble_sort |
int |
200 |
bash |
899.9 |
899.3 |
1.1 |
3.3 |
flanders |
fib |
200 |
44 |
python |
27.4 |
22.8 |
4.6 |
6.9 |
flanders |
fib |
200 |
44 |
dash |
72.1 |
72.0 |
0.0 |
1.8 |
flanders |
fib |
200 |
44 |
bash |
316.4 |
308.4 |
8.0 |
3.1 |
flanders |
fib |
200 |
44 |
osh_eval.opt.stripped |
374.3 |
309.9 |
64.4 |
98.9 |
flanders |
hello |
_ |
_ |
dash |
1.8 |
1.8 |
0.0 |
1.8 |
flanders |
hello |
_ |
_ |
bash |
2.7 |
2.7 |
0.0 |
3.1 |
flanders |
hello |
_ |
_ |
osh_eval.opt.stripped |
3.7 |
3.7 |
0.0 |
4.0 |
flanders |
hello |
_ |
_ |
python |
26.2 |
13.1 |
13.1 |
6.8 |
flanders |
palindrome |
bytes |
_ |
python |
46.4 |
34.7 |
12.3 |
7.0 |
flanders |
palindrome |
bytes |
_ |
bash |
513.9 |
502.5 |
12.0 |
3.3 |
flanders |
palindrome |
bytes |
_ |
osh_eval.opt.stripped |
790.1 |
651.1 |
139.6 |
231.0 |
flanders |
palindrome |
unicode |
_ |
python |
52.3 |
36.1 |
16.6 |
7.2 |
flanders |
palindrome |
unicode |
_ |
bash |
560.2 |
526.6 |
34.1 |
3.3 |
flanders |
palindrome |
unicode |
_ |
osh_eval.opt.stripped |
787.9 |
626.7 |
161.7 |
230.9 |
flanders |
parse_help |
ls |
_ |
bash |
56.4 |
52.6 |
4.2 |
3.8 |
flanders |
parse_help |
ls |
_ |
osh_eval.opt.stripped |
71.9 |
54.1 |
18.2 |
10.5 |
flanders |
parse_help |
ls-short |
_ |
osh_eval.opt.stripped |
21.2 |
16.2 |
5.5 |
4.9 |
flanders |
parse_help |
ls-short |
_ |
bash |
20.1 |
17.5 |
2.9 |
3.4 |
flanders |
parse_help |
mypy |
_ |
bash |
70.2 |
65.2 |
5.3 |
3.6 |
flanders |
parse_help |
mypy |
_ |
osh_eval.opt.stripped |
92.3 |
71.0 |
21.6 |
12.9 |
flanders |
word_freq |
10 |
configure |
python |
53.4 |
35.2 |
21.0 |
7.0 |
flanders |
word_freq |
10 |
configure |
osh_eval.opt.stripped |
286.3 |
209.4 |
79.5 |
63.5 |
flanders |
word_freq |
10 |
configure |
bash |
392.0 |
382.3 |
18.5 |
3.4 |
lisa |
bubble_sort |
bytes |
200 |
python |
15.1 |
11.5 |
3.8 |
7.0 |
lisa |
bubble_sort |
bytes |
200 |
osh_eval.opt.stripped |
231.7 |
193.9 |
36.2 |
151.2 |
lisa |
bubble_sort |
bytes |
200 |
bash |
269.1 |
267.6 |
0.4 |
3.4 |
lisa |
bubble_sort |
int |
200 |
python |
30.6 |
26.4 |
4.3 |
7.0 |
lisa |
bubble_sort |
int |
200 |
osh_eval.opt.stripped |
226.9 |
188.2 |
38.8 |
145.6 |
lisa |
bubble_sort |
int |
200 |
bash |
261.2 |
261.0 |
0.0 |
3.4 |
lisa |
fib |
200 |
44 |
python |
9.8 |
9.8 |
0.0 |
6.9 |
lisa |
fib |
200 |
44 |
dash |
19.0 |
18.9 |
0.0 |
1.7 |
lisa |
fib |
200 |
44 |
osh_eval.opt.stripped |
95.1 |
55.4 |
39.6 |
98.8 |
lisa |
fib |
200 |
44 |
bash |
73.0 |
72.9 |
0.0 |
3.1 |
lisa |
hello |
_ |
_ |
bash |
0.9 |
0.0 |
0.9 |
3.1 |
lisa |
hello |
_ |
_ |
dash |
0.4 |
0.4 |
0.0 |
1.6 |
lisa |
hello |
_ |
_ |
osh_eval.opt.stripped |
1.2 |
1.2 |
0.0 |
3.8 |
lisa |
hello |
_ |
_ |
python |
9.7 |
4.8 |
4.8 |
6.9 |
lisa |
palindrome |
bytes |
_ |
python |
13.8 |
3.7 |
10.2 |
7.0 |
lisa |
palindrome |
bytes |
_ |
bash |
158.6 |
147.5 |
11.2 |
3.4 |
lisa |
palindrome |
bytes |
_ |
osh_eval.opt.stripped |
261.0 |
212.4 |
48.7 |
230.9 |
lisa |
palindrome |
unicode |
_ |
python |
19.1 |
15.5 |
3.7 |
7.2 |
lisa |
palindrome |
unicode |
_ |
bash |
174.6 |
162.8 |
11.9 |
3.3 |
lisa |
palindrome |
unicode |
_ |
osh_eval.opt.stripped |
256.4 |
170.3 |
85.6 |
231.0 |
lisa |
parse_help |
ls |
_ |
osh_eval.opt.stripped |
21.6 |
12.6 |
9.1 |
10.6 |
lisa |
parse_help |
ls |
_ |
bash |
15.6 |
15.2 |
0.4 |
3.6 |
lisa |
parse_help |
ls-short |
_ |
bash |
9.1 |
5.5 |
0.0 |
3.6 |
lisa |
parse_help |
ls-short |
_ |
osh_eval.opt.stripped |
5.8 |
5.9 |
0.0 |
4.9 |
lisa |
parse_help |
mypy |
_ |
bash |
18.4 |
18.4 |
0.0 |
3.5 |
lisa |
parse_help |
mypy |
_ |
osh_eval.opt.stripped |
29.0 |
24.8 |
4.2 |
12.9 |
lisa |
word_freq |
10 |
configure |
python |
14.7 |
15.7 |
0.0 |
7.2 |
lisa |
word_freq |
10 |
configure |
osh_eval.opt.stripped |
96.0 |
67.1 |
29.8 |
63.6 |
lisa |
word_freq |
10 |
configure |
bash |
91.5 |
87.7 |
6.8 |
3.4 |