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
varargs 0.0 12.1 0.000
modules 1.4 312.3 0.004
fib_iter 10.8 1,197.7 0.009
asdl_generated 5.4 559.6 0.010
scoped_resource 14.9 1,248.6 0.012
fib_recursive 24.3 1,481.0 0.016
loops 8.7 510.0 0.017
tuple_return_value 7.0 248.4 0.028
classes 2.7 22.8 0.120
cgi 95.5 780.0 0.122
containers 35.9 230.4 0.156
escape 94.6 532.6 0.178
strings 1.3 7.6 0.178
length 94.1 290.2 0.324

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

TODO