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
fib_recursive gen 7 11 890 0.008
fib_iter gen 8 8 881 0.009
modules gen 2 2 187 0.010
loops gen 4 3 299 0.013
asdl_generated gen 7 11 405 0.018
parse gen 30 23 769 0.039
scoped_resource gen 48 42 1,024 0.047
containers gen 8 0 128 0.062
tuple_return_value gen 15 18 193 0.080
files gen 7 7 73 0.101
classes gen 3 0 31 0.105
length gen 44 37 207 0.214
gc_stack_roots gen 2 2 8 0.221
cartesian gen 91 82 334 0.274
escape gen 105 100 353 0.298
cgi gen 266 249 526 0.506
control_flow gen 209 161 112 1.863
varargs gen 33 19 12 2.736
pea_hello gen NA NA 15 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.5 12.5 0.36
fib_recursive gen 3.4 3.9 8.5 0.40
gc_stack_roots gen 3.5 3.5 8.4 0.42
scoped_resource gen 3.5 3.8 8.4 0.42
cartesian gen 3.7 3.7 8.5 0.43
escape gen 3.7 3.7 8.5 0.43
parse gen 3.9 3.9 9.1 0.43
cgi gen 3.5 3.5 8.1 0.44
asdl_generated gen 3.7 3.5 8.4 0.44
tuple_return_value gen 3.7 3.8 8.4 0.44
control_flow gen 3.8 3.8 8.5 0.45
loops gen 3.8 3.8 8.5 0.45
modules gen 3.8 3.7 8.5 0.45
files gen 3.8 3.8 8.4 0.45
length gen 3.8 3.9 8.4 0.45
fib_iter gen 3.9 3.7 8.5 0.46
containers gen 28.6 28.7 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
cartesian gen 0 4 8 0.000
classes gen 0 3 8 0.000
control_flow gen 0 0 12 0.000
escape gen 0 0 12 0.000
fib_iter gen 0 0 8 0.000
files gen 0 0 11 0.000
gc_stack_roots gen 0 0 12 0.000
length gen 0 8 12 0.000
loops gen 0 0 8 0.000
modules gen 0 0 8 0.000
parse gen 0 4 16 0.000
scoped_resource gen 0 4 4 0.000
tuple_return_value gen 4 0 8 0.479
varargs gen 33 46 68 0.483
containers gen 8 14 16 0.497
cgi gen 4 4 8 0.506
asdl_generated gen 4 0 4 0.893
fib_recursive gen 4 0 0 inf
pea_hello gen NA NA 4 NA

raw benchmark files