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.0 320.8 0.000
strings 0.0 14.2 0.000
varargs 0.0 19.7 0.000
fib_iter 19.1 1,234.0 0.015
scoped_resource 19.8 1,265.6 0.016
asdl_generated 10.7 635.0 0.017
loops 10.2 568.2 0.018
fib_recursive 27.1 1,412.8 0.019
tuple_return_value 4.4 197.9 0.022
classes 2.6 39.9 0.066
cgi 118.5 859.2 0.138
escape 111.2 546.6 0.203
length 64.3 274.7 0.234
containers 46.2 189.8 0.243

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
strings 2.9 7.6 0.38
loops 3.0 7.7 0.39
modules 3.0 7.6 0.40
scoped_resource 3.0 7.6 0.40
tuple_return_value 3.0 7.5 0.41
fib_iter 3.0 7.4 0.41
fib_recursive 3.1 7.5 0.41
cgi 3.2 7.5 0.42
varargs 3.2 7.4 0.43
escape 3.3 7.5 0.44
length 3.3 7.5 0.44
classes 3.4 7.6 0.45
asdl_generated 3.4 7.5 0.45
containers 36.2 48.0 0.75

TODO