mycpp Code Generation

Measure the speedup from mycpp, and the resource usage.

Source code: oil/mycpp/examples

User Time (milliseconds)

Lower ratios are better.

example name gen C++ C++-Souffle Python C++ : Python
files gen 0 7 71 0.000
loops gen 0 3 296 0.000
fib_iter gen 8 8 933 0.008
fib_recursive gen 7 11 883 0.008
asdl_generated gen 4 7 396 0.009
modules gen 2 2 186 0.009
parse gen 26 19 782 0.034
scoped_resource gen 43 46 1,031 0.042
containers gen 8 7 114 0.069
tuple_return_value gen 15 15 188 0.082
classes gen 3 3 31 0.105
gc_stack_roots gen 2 2 10 0.175
length gen 40 41 207 0.194
cartesian gen 82 80 332 0.248
escape gen 101 87 360 0.280
cgi gen 255 268 517 0.493
varargs gen 23 29 36 0.649
control_flow gen 208 161 114 1.828
pea_hello gen NA NA 14 NA

Max Resident Set Size (MB)

Lower ratios are better. We use MB (powers of 10), not MiB (powers of 2).

example name gen C++ C++-Souffle Python C++ : Python
classes gen 4.5 4.3 12.3 0.36
cartesian gen 3.5 3.7 8.5 0.42
gc_stack_roots gen 3.5 3.4 8.5 0.42
parse gen 3.8 3.9 9.1 0.42
asdl_generated gen 3.7 3.7 8.5 0.43
fib_iter gen 3.7 3.7 8.5 0.43
scoped_resource gen 3.7 3.8 8.5 0.43
cgi gen 3.7 3.7 8.4 0.44
escape gen 3.7 3.5 8.4 0.44
fib_recursive gen 3.7 3.7 8.4 0.44
length gen 3.8 3.8 8.5 0.45
loops gen 3.8 3.8 8.5 0.45
modules gen 3.8 3.8 8.5 0.45
tuple_return_value gen 3.8 3.7 8.5 0.45
control_flow gen 3.8 3.8 8.4 0.45
files gen 3.8 3.8 8.4 0.45
containers gen 28.6 28.5 48.9 0.58
varargs gen 5.2 5.6 8.4 0.62
pea_hello gen NA NA 8.1 NA

System Time (milliseconds)

Lower ratios are better.

example name gen C++ C++-Souffle Python C++ : Python
classes gen 0 0 8 0.000
control_flow gen 0 0 8 0.000
fib_iter gen 0 0 8 0.000
gc_stack_roots gen 0 0 10 0.000
modules gen 0 0 8 0.000
loops gen 4 0 16 0.230
tuple_return_value gen 4 4 16 0.240
containers gen 8 7 27 0.287
fib_recursive gen 4 0 8 0.448
parse gen 4 8 8 0.469
length gen 4 4 8 0.504
asdl_generated gen 7 4 12 0.593
files gen 7 0 12 0.627
cartesian gen 8 4 12 0.687
varargs gen 42 37 43 0.974
scoped_resource gen 4 0 4 0.982
escape gen 4 16 4 1.009
cgi gen 16 0 12 1.324
pea_hello gen NA NA 5 NA

raw benchmark files