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
modules gen 0 2 192 0.000
fib_recursive gen 7 11 890 0.008
fib_iter gen 8 4 908 0.008
loops gen 4 3 299 0.012
asdl_generated gen 11 11 396 0.027
parse gen 30 27 769 0.039
scoped_resource gen 44 45 1,015 0.043
files gen 7 7 83 0.087
containers gen 10 3 111 0.091
tuple_return_value gen 19 18 192 0.098
classes gen 3 0 27 0.119
gc_stack_roots gen 2 0 11 0.176
length gen 41 45 208 0.199
cartesian gen 80 82 321 0.249
escape gen 98 97 355 0.276
cgi gen 270 263 519 0.519
varargs gen 31 15 32 0.964
control_flow gen 208 159 117 1.786
pea_hello gen NA NA 4 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.3 4.5 12.5 0.35
parse gen 3.8 3.8 9.1 0.42
asdl_generated gen 3.5 3.7 8.4 0.42
escape gen 3.5 3.4 8.4 0.42
fib_recursive gen 3.5 3.8 8.4 0.42
gc_stack_roots gen 3.5 3.4 8.4 0.42
cartesian gen 3.7 3.5 8.5 0.43
scoped_resource gen 3.7 3.7 8.5 0.43
cgi gen 3.7 3.7 8.4 0.44
loops gen 3.8 3.8 8.7 0.44
fib_iter gen 3.8 3.8 8.5 0.45
files gen 3.8 3.8 8.5 0.45
length gen 3.8 3.8 8.5 0.45
control_flow gen 3.8 3.8 8.4 0.45
tuple_return_value gen 3.8 3.8 8.4 0.45
modules gen 3.9 3.8 8.5 0.46
containers gen 28.6 28.5 49.1 0.58
varargs gen 5.5 5.5 8.5 0.65
pea_hello gen NA NA 8.1 NA

System Time (milliseconds)

Lower ratios are better.

example name gen C++ C++-Souffle Python C++ : Python
cgi gen 0 4 12 0.000
classes gen 0 3 12 0.000
control_flow gen 0 4 4 0.000
fib_iter gen 0 4 4 0.000
gc_stack_roots gen 0 2 8 0.000
loops gen 0 0 8 0.000
parse gen 0 0 12 0.000
tuple_return_value gen 0 0 8 0.000
containers gen 5 10 32 0.160
modules gen 2 0 8 0.224
scoped_resource gen 4 0 12 0.335
length gen 4 0 12 0.345
varargs gen 35 50 48 0.723
cartesian gen 12 8 16 0.757
fib_recursive gen 4 0 4 0.899
escape gen 8 4 8 0.981
asdl_generated gen 0 0 0 NA
files gen 0 0 0 NA
pea_hello gen NA NA 13 NA

raw benchmark files