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
classes gen 0 3 31 0.000
containers gen 0 8 123 0.000
fib_iter gen 8 7 934 0.008
loops gen 4 3 398 0.009
modules gen 2 2 188 0.009
fib_recursive gen 11 11 899 0.012
asdl_generated gen 11 11 410 0.027
parse gen 30 22 771 0.039
scoped_resource gen 44 41 1,042 0.043
tuple_return_value gen 15 14 186 0.083
files gen 8 8 74 0.101
gc_stack_roots gen 2 2 12 0.151
length gen 41 41 223 0.182
cartesian gen 92 79 362 0.253
escape gen 104 99 357 0.290
cgi gen 252 263 517 0.488
varargs gen 20 23 16 1.280
control_flow gen 207 162 118 1.755
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.6 4.5 12.3 0.37
escape gen 3.4 3.7 8.4 0.41
cgi gen 3.5 3.8 8.5 0.42
gc_stack_roots gen 3.5 3.5 8.5 0.42
modules gen 3.7 3.9 8.7 0.42
fib_iter gen 3.7 3.7 8.5 0.43
parse gen 3.9 3.8 9.1 0.43
cartesian gen 3.7 3.7 8.4 0.44
asdl_generated gen 3.8 3.5 8.5 0.45
length gen 3.8 3.8 8.5 0.45
scoped_resource gen 3.8 3.8 8.5 0.45
fib_recursive gen 3.8 3.7 8.4 0.45
files gen 3.8 3.9 8.4 0.45
loops gen 3.8 3.8 8.4 0.45
tuple_return_value gen 3.8 3.7 8.3 0.46
control_flow gen 3.9 3.9 8.4 0.47
containers gen 28.5 28.5 49.0 0.58
varargs gen 5.4 5.4 8.5 0.63
pea_hello gen NA NA 8.3 NA

System Time (milliseconds)

Lower ratios are better.

example name gen C++ C++-Souffle Python C++ : Python
cartesian gen 0 8 8 0.000
escape gen 0 4 4 0.000
fib_iter gen 0 0 4 0.000
fib_recursive gen 0 0 12 0.000
files gen 0 0 8 0.000
gc_stack_roots gen 0 0 8 0.000
loops gen 0 0 8 0.000
modules gen 0 0 12 0.000
parse gen 0 4 8 0.000
tuple_return_value gen 4 5 12 0.323
classes gen 3 0 8 0.425
scoped_resource gen 4 4 8 0.463
length gen 4 4 8 0.502
varargs gen 45 42 64 0.704
containers gen 15 8 20 0.763
control_flow gen 4 0 4 0.979
cgi gen 16 4 16 1.007
asdl_generated gen 0 0 0 NA
pea_hello gen NA NA 4 NA

raw benchmark files