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 27 0.000
fib_iter gen 8 4 940 0.008
modules gen 2 0 192 0.009
asdl_generated gen 4 11 386 0.010
loops gen 4 3 385 0.010
fib_recursive gen 11 11 891 0.012
parse gen 27 20 756 0.036
scoped_resource gen 48 46 1,042 0.046
containers gen 8 7 121 0.065
files gen 8 8 79 0.095
tuple_return_value gen 20 19 197 0.099
gc_stack_roots gen 2 0 12 0.149
length gen 38 46 203 0.187
cartesian gen 84 81 336 0.250
escape gen 102 105 364 0.280
varargs gen 16 20 32 0.493
cgi gen 266 253 508 0.523
control_flow gen 206 157 115 1.792
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.3 4.5 12.3 0.35
gc_stack_roots gen 3.4 3.5 8.5 0.40
parse gen 3.8 3.7 9.1 0.42
asdl_generated gen 3.7 3.5 8.5 0.43
escape gen 3.7 3.5 8.5 0.43
cgi gen 3.8 3.7 8.5 0.45
control_flow gen 3.8 3.9 8.5 0.45
fib_recursive gen 3.8 3.7 8.5 0.45
modules gen 3.8 3.8 8.5 0.45
cartesian gen 3.7 3.7 8.1 0.45
files gen 3.8 3.9 8.4 0.45
length gen 3.8 3.8 8.4 0.45
loops gen 3.8 3.8 8.4 0.45
scoped_resource gen 3.8 3.7 8.4 0.45
tuple_return_value gen 3.8 3.7 8.4 0.45
fib_iter gen 3.9 3.7 8.4 0.47
containers gen 28.7 28.7 49.2 0.58
varargs gen 5.4 5.5 8.3 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
fib_recursive gen 0 0 8 0.000
files gen 0 0 4 0.000
gc_stack_roots gen 0 2 8 0.000
loops gen 0 0 12 0.000
modules gen 0 2 4 0.000
scoped_resource gen 0 0 12 0.000
tuple_return_value gen 0 0 4 0.000
parse gen 4 8 20 0.193
containers gen 8 7 28 0.278
classes gen 4 0 12 0.313
cgi gen 4 0 12 0.331
escape gen 4 0 8 0.491
control_flow gen 4 4 8 0.500
length gen 8 0 12 0.634
cartesian gen 8 8 8 1.001
varargs gen 51 45 48 1.068
asdl_generated gen 7 0 4 1.844
fib_iter gen 0 4 0 NA
pea_hello gen NA NA 5 NA

raw benchmark files