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 C++ Python C++ : Python
modules 0.9 179.3 0.005
fib_iter 6.6 792.9 0.008
asdl_generated 3.4 368.8 0.009
loops 3.5 317.0 0.011
scoped_resource 11.0 768.2 0.014
tuple_return_value 3.0 107.9 0.027
fib_recursive 25.3 858.8 0.030
classes 1.8 22.6 0.080
strings 0.9 6.9 0.138
cgi 70.4 462.9 0.152
escape 61.2 316.3 0.194
length 31.4 149.7 0.210
containers 26.1 111.9 0.233
varargs 2.7 8.2 0.332

Max Resident Set Size (MB)

Lower ratios are better. We use MB (powers of 10), not MiB (powers of 2).

example name C++ Python C++ : Python
loops 2.9 7.6 0.38
scoped_resource 3.0 7.5 0.40
fib_recursive 3.0 7.5 0.40
fib_iter 3.0 7.4 0.41
modules 3.0 7.4 0.41
cgi 3.1 7.5 0.41
varargs 3.0 7.4 0.41
strings 3.1 7.5 0.41
tuple_return_value 3.1 7.4 0.41
asdl_generated 3.2 7.4 0.42
escape 3.4 7.4 0.45
classes 3.6 7.8 0.46
length 3.5 7.5 0.46
containers 36.0 47.9 0.75

TODO