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
classes 0.0 22.7 0.000
tuple_return_value 0.0 112.3 0.000
modules 0.8 177.7 0.004
fib_recursive 7.2 866.1 0.008
fib_iter 6.3 717.1 0.009
asdl_generated 3.2 346.8 0.009
loops 3.4 326.2 0.010
scoped_resource 13.7 749.4 0.018
containers 19.8 109.4 0.181
escape 82.2 323.8 0.254
cgi 192.9 471.0 0.410
length 65.7 147.8 0.445
varargs 2.7 4.8 0.566
strings 0.9 0.0 inf

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
scoped_resource 2.9 7.7 0.38
fib_iter 2.9 7.6 0.38
tuple_return_value 3.0 7.6 0.39
strings 3.0 7.7 0.39
modules 3.0 7.5 0.39
loops 3.1 7.7 0.39
fib_recursive 3.1 7.5 0.41
varargs 3.1 7.5 0.41
classes 3.4 7.9 0.43
asdl_generated 3.4 7.6 0.44
containers 36.2 48.2 0.75
escape 9.5 7.3 1.30
length 35.3 7.6 4.66
cgi 67.1 7.5 8.89

TODO