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 |
_ |
_ |
bash |
4.4 |
0.0 |
2.3 |
3.0 |
flanders |
_ |
_ |
dash |
1.2 |
1.2 |
0.0 |
1.7 |
flanders |
_ |
_ |
osh_eval.opt.stripped |
3.4 |
3.3 |
0.0 |
3.8 |
flanders |
_ |
_ |
python |
24.4 |
17.8 |
4.5 |
6.8 |
lisa |
_ |
_ |
python |
8.0 |
0.0 |
8.0 |
6.8 |
lisa |
_ |
_ |
dash |
0.5 |
0.4 |
0.0 |
1.6 |
lisa |
_ |
_ |
bash |
0.8 |
0.8 |
0.0 |
3.1 |
lisa |
_ |
_ |
osh_eval.opt.stripped |
1.3 |
1.3 |
0.0 |
3.8 |
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 |
22.3 |
16.2 |
4.1 |
6.7 |
flanders |
200 |
44 |
dash |
53.6 |
53.5 |
0.0 |
1.8 |
flanders |
200 |
44 |
osh_eval.opt.stripped |
233.1 |
197.5 |
35.6 |
98.8 |
flanders |
200 |
44 |
bash |
216.1 |
207.9 |
8.0 |
3.1 |
lisa |
200 |
44 |
python |
10.7 |
10.7 |
0.0 |
6.9 |
lisa |
200 |
44 |
dash |
20.7 |
20.7 |
0.0 |
1.7 |
lisa |
200 |
44 |
bash |
77.9 |
77.9 |
0.0 |
3.1 |
lisa |
200 |
44 |
osh_eval.opt.stripped |
93.9 |
81.6 |
12.2 |
98.8 |
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 |
45.1 |
33.8 |
12.0 |
7.0 |
flanders |
10 |
configure |
osh_eval.opt.stripped |
189.8 |
164.1 |
27.9 |
63.4 |
flanders |
10 |
configure |
bash |
270.3 |
250.7 |
19.3 |
3.4 |
lisa |
10 |
configure |
python |
14.8 |
12.9 |
2.8 |
7.0 |
lisa |
10 |
configure |
osh_eval.opt.stripped |
84.0 |
55.0 |
27.9 |
63.4 |
lisa |
10 |
configure |
bash |
106.8 |
90.8 |
8.5 |
3.3 |
parse_help (strings, real code)
host name |
arg1 |
runtime |
elapsed ms |
user ms |
sys ms |
max rss MB |
flanders |
ls |
bash |
38.2 |
26.2 |
12.1 |
3.6 |
flanders |
ls |
osh_eval.opt.stripped |
52.3 |
39.0 |
13.7 |
10.4 |
flanders |
ls-short |
osh_eval.opt.stripped |
17.4 |
8.0 |
9.7 |
4.7 |
flanders |
ls-short |
bash |
23.7 |
10.3 |
9.8 |
3.3 |
flanders |
mypy |
osh_eval.opt.stripped |
66.3 |
44.5 |
22.1 |
12.8 |
flanders |
mypy |
bash |
48.1 |
45.0 |
3.2 |
3.5 |
lisa |
ls |
osh_eval.opt.stripped |
18.3 |
11.9 |
6.5 |
10.5 |
lisa |
ls |
bash |
22.4 |
14.6 |
6.0 |
3.6 |
lisa |
ls-short |
osh_eval.opt.stripped |
5.7 |
5.8 |
0.0 |
4.8 |
lisa |
ls-short |
bash |
9.4 |
7.7 |
0.0 |
3.5 |
lisa |
mypy |
bash |
18.4 |
18.3 |
0.0 |
3.6 |
lisa |
mypy |
osh_eval.opt.stripped |
29.4 |
28.9 |
0.4 |
12.8 |
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 |
44.4 |
41.0 |
3.8 |
6.7 |
flanders |
bytes |
200 |
osh_eval.opt.stripped |
495.0 |
410.0 |
85.4 |
149.5 |
flanders |
bytes |
200 |
bash |
750.6 |
747.0 |
4.0 |
3.3 |
flanders |
int |
200 |
python |
93.5 |
76.9 |
15.1 |
6.6 |
flanders |
int |
200 |
osh_eval.opt.stripped |
488.8 |
386.0 |
103.3 |
145.3 |
flanders |
int |
200 |
bash |
745.2 |
734.0 |
9.7 |
3.3 |
lisa |
bytes |
200 |
python |
16.8 |
17.0 |
0.0 |
6.9 |
lisa |
bytes |
200 |
osh_eval.opt.stripped |
198.2 |
169.8 |
28.3 |
161.1 |
lisa |
bytes |
200 |
bash |
273.2 |
272.6 |
0.0 |
3.4 |
lisa |
int |
200 |
python |
34.4 |
30.6 |
3.8 |
6.9 |
lisa |
int |
200 |
osh_eval.opt.stripped |
182.9 |
136.2 |
46.8 |
145.8 |
lisa |
int |
200 |
bash |
288.5 |
288.7 |
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 |
44.4 |
41.0 |
3.8 |
6.7 |
flanders |
bubble_sort |
bytes |
200 |
osh_eval.opt.stripped |
495.0 |
410.0 |
85.4 |
149.5 |
flanders |
bubble_sort |
bytes |
200 |
bash |
750.6 |
747.0 |
4.0 |
3.3 |
flanders |
bubble_sort |
int |
200 |
python |
93.5 |
76.9 |
15.1 |
6.6 |
flanders |
bubble_sort |
int |
200 |
osh_eval.opt.stripped |
488.8 |
386.0 |
103.3 |
145.3 |
flanders |
bubble_sort |
int |
200 |
bash |
745.2 |
734.0 |
9.7 |
3.3 |
flanders |
fib |
200 |
44 |
python |
22.3 |
16.2 |
4.1 |
6.7 |
flanders |
fib |
200 |
44 |
dash |
53.6 |
53.5 |
0.0 |
1.8 |
flanders |
fib |
200 |
44 |
osh_eval.opt.stripped |
233.1 |
197.5 |
35.6 |
98.8 |
flanders |
fib |
200 |
44 |
bash |
216.1 |
207.9 |
8.0 |
3.1 |
flanders |
hello |
_ |
_ |
bash |
4.4 |
0.0 |
2.3 |
3.0 |
flanders |
hello |
_ |
_ |
dash |
1.2 |
1.2 |
0.0 |
1.7 |
flanders |
hello |
_ |
_ |
osh_eval.opt.stripped |
3.4 |
3.3 |
0.0 |
3.8 |
flanders |
hello |
_ |
_ |
python |
24.4 |
17.8 |
4.5 |
6.8 |
flanders |
palindrome |
bytes |
_ |
python |
52.5 |
42.8 |
10.3 |
7.1 |
flanders |
palindrome |
bytes |
_ |
bash |
520.0 |
492.5 |
27.9 |
3.2 |
flanders |
palindrome |
bytes |
_ |
osh_eval.opt.stripped |
877.1 |
675.0 |
200.7 |
231.3 |
flanders |
palindrome |
unicode |
_ |
python |
70.9 |
57.8 |
11.7 |
7.1 |
flanders |
palindrome |
unicode |
_ |
bash |
565.4 |
545.1 |
18.9 |
3.3 |
flanders |
palindrome |
unicode |
_ |
osh_eval.opt.stripped |
729.1 |
589.5 |
140.0 |
231.2 |
flanders |
parse_help |
ls |
_ |
bash |
38.2 |
26.2 |
12.1 |
3.6 |
flanders |
parse_help |
ls |
_ |
osh_eval.opt.stripped |
52.3 |
39.0 |
13.7 |
10.4 |
flanders |
parse_help |
ls-short |
_ |
osh_eval.opt.stripped |
17.4 |
8.0 |
9.7 |
4.7 |
flanders |
parse_help |
ls-short |
_ |
bash |
23.7 |
10.3 |
9.8 |
3.3 |
flanders |
parse_help |
mypy |
_ |
osh_eval.opt.stripped |
66.3 |
44.5 |
22.1 |
12.8 |
flanders |
parse_help |
mypy |
_ |
bash |
48.1 |
45.0 |
3.2 |
3.5 |
flanders |
word_freq |
10 |
configure |
python |
45.1 |
33.8 |
12.0 |
7.0 |
flanders |
word_freq |
10 |
configure |
osh_eval.opt.stripped |
189.8 |
164.1 |
27.9 |
63.4 |
flanders |
word_freq |
10 |
configure |
bash |
270.3 |
250.7 |
19.3 |
3.4 |
lisa |
bubble_sort |
bytes |
200 |
python |
16.8 |
17.0 |
0.0 |
6.9 |
lisa |
bubble_sort |
bytes |
200 |
osh_eval.opt.stripped |
198.2 |
169.8 |
28.3 |
161.1 |
lisa |
bubble_sort |
bytes |
200 |
bash |
273.2 |
272.6 |
0.0 |
3.4 |
lisa |
bubble_sort |
int |
200 |
python |
34.4 |
30.6 |
3.8 |
6.9 |
lisa |
bubble_sort |
int |
200 |
osh_eval.opt.stripped |
182.9 |
136.2 |
46.8 |
145.8 |
lisa |
bubble_sort |
int |
200 |
bash |
288.5 |
288.7 |
0.0 |
3.4 |
lisa |
fib |
200 |
44 |
python |
10.7 |
10.7 |
0.0 |
6.9 |
lisa |
fib |
200 |
44 |
dash |
20.7 |
20.7 |
0.0 |
1.7 |
lisa |
fib |
200 |
44 |
bash |
77.9 |
77.9 |
0.0 |
3.1 |
lisa |
fib |
200 |
44 |
osh_eval.opt.stripped |
93.9 |
81.6 |
12.2 |
98.8 |
lisa |
hello |
_ |
_ |
python |
8.0 |
0.0 |
8.0 |
6.8 |
lisa |
hello |
_ |
_ |
dash |
0.5 |
0.4 |
0.0 |
1.6 |
lisa |
hello |
_ |
_ |
bash |
0.8 |
0.8 |
0.0 |
3.1 |
lisa |
hello |
_ |
_ |
osh_eval.opt.stripped |
1.3 |
1.3 |
0.0 |
3.8 |
lisa |
palindrome |
bytes |
_ |
python |
15.0 |
7.5 |
7.6 |
7.0 |
lisa |
palindrome |
bytes |
_ |
bash |
166.2 |
162.0 |
4.3 |
3.4 |
lisa |
palindrome |
bytes |
_ |
osh_eval.opt.stripped |
247.4 |
183.6 |
63.9 |
231.2 |
lisa |
palindrome |
unicode |
_ |
python |
18.6 |
15.3 |
3.4 |
7.1 |
lisa |
palindrome |
unicode |
_ |
bash |
182.5 |
174.7 |
7.9 |
3.3 |
lisa |
palindrome |
unicode |
_ |
osh_eval.opt.stripped |
246.3 |
186.8 |
59.6 |
231.2 |
lisa |
parse_help |
ls |
_ |
osh_eval.opt.stripped |
18.3 |
11.9 |
6.5 |
10.5 |
lisa |
parse_help |
ls |
_ |
bash |
22.4 |
14.6 |
6.0 |
3.6 |
lisa |
parse_help |
ls-short |
_ |
osh_eval.opt.stripped |
5.7 |
5.8 |
0.0 |
4.8 |
lisa |
parse_help |
ls-short |
_ |
bash |
9.4 |
7.7 |
0.0 |
3.5 |
lisa |
parse_help |
mypy |
_ |
bash |
18.4 |
18.3 |
0.0 |
3.6 |
lisa |
parse_help |
mypy |
_ |
osh_eval.opt.stripped |
29.4 |
28.9 |
0.4 |
12.8 |
lisa |
word_freq |
10 |
configure |
python |
14.8 |
12.9 |
2.8 |
7.0 |
lisa |
word_freq |
10 |
configure |
osh_eval.opt.stripped |
84.0 |
55.0 |
27.9 |
63.4 |
lisa |
word_freq |
10 |
configure |
bash |
106.8 |
90.8 |
8.5 |
3.3 |