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.3 0.000
modules 1.0 205.4 0.005
scoped_resource 7.0 870.1 0.008
fib_iter 6.9 794.2 0.009
asdl_generated 4.4 361.1 0.012
fib_recursive 11.1 912.2 0.012
loops 4.2 324.8 0.013
tuple_return_value 3.3 124.9 0.026
classes 1.8 21.0 0.086
cgi 64.2 517.2 0.124
strings 1.0 7.7 0.129
escape 68.1 360.9 0.189
length 36.9 176.0 0.210
containers 41.2 113.1 0.364

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.7 7.3 0.37
strings 2.7 7.1 0.38
tuple_return_value 2.8 7.1 0.39
modules 2.8 6.9 0.41
asdl_generated 2.9 7.1 0.41
scoped_resource 3.0 7.2 0.42
fib_iter 2.9 7.0 0.42
varargs 3.0 7.1 0.42
escape 2.9 7.0 0.42
fib_recursive 2.9 7.0 0.42
classes 3.1 7.3 0.42
cgi 3.0 7.1 0.42
length 3.0 6.9 0.43
containers 36.2 47.6 0.76

TODO