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 1 0 198 0.004
loops gen 2 2 300 0.006
fib_iter gen 7 7 935 0.007
fib_recursive gen 9 10 989 0.009
asdl_generated gen 8 10 390 0.021
parse gen 28 25 776 0.036
scoped_resource gen 44 43 1,058 0.042
tuple_return_value gen 12 15 197 0.062
containers gen 8 8 119 0.066
files gen 5 6 76 0.068
gc_stack_roots gen 1 1 11 0.076
classes gen 3 2 29 0.106
length gen 42 37 217 0.194
cartesian gen 87 78 337 0.260
escape gen 101 96 358 0.283
cgi gen 267 263 534 0.500
varargs gen 16 16 26 0.615
control_flow gen 211 160 119 1.776
pea_hello gen NA NA 13 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
cgi gen 3.4 3.5 8.4 0.41
fib_recursive gen 3.5 3.8 8.4 0.42
gc_stack_roots gen 3.5 3.5 8.4 0.42
parse gen 3.8 3.7 9.0 0.42
escape gen 3.7 3.5 8.5 0.43
asdl_generated gen 3.7 3.7 8.4 0.44
cartesian gen 3.7 3.7 8.4 0.44
fib_iter gen 3.7 3.7 8.4 0.44
scoped_resource gen 3.7 3.8 8.4 0.44
modules gen 3.8 3.7 8.7 0.44
length 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.7 8.4 0.45
loops gen 3.8 3.8 8.4 0.45
tuple_return_value gen 3.8 3.7 8.4 0.45
containers gen 28.8 28.8 49.1 0.59
varargs gen 5.6 5.6 8.4 0.67
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 1 9 0.000
fib_iter gen 1 1 10 0.095
modules gen 1 2 9 0.095
control_flow gen 1 2 10 0.100
gc_stack_roots gen 1 1 8 0.105
containers gen 4 2 25 0.157
parse gen 2 2 10 0.200
fib_recursive gen 2 1 8 0.244
loops gen 2 1 7 0.269
files gen 2 2 7 0.296
cgi gen 2 6 5 0.400
scoped_resource gen 3 2 7 0.431
escape gen 4 7 8 0.502
asdl_generated gen 3 1 6 0.505
length gen 4 9 7 0.569
cartesian gen 4 8 6 0.663
varargs gen 23 23 27 0.852
tuple_return_value gen 7 3 7 1.015
pea_hello gen NA NA 6 NA

raw benchmark files