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 6.5 0.000
modules 0.8 179.9 0.004
fib_iter 6.3 716.1 0.009
asdl_generated 3.2 360.9 0.009
loops 3.4 323.7 0.010
fib_recursive 9.8 875.6 0.011
scoped_resource 11.6 761.9 0.015
tuple_return_value 3.1 108.1 0.029
classes 1.9 21.4 0.087
cgi 83.0 466.3 0.178
escape 65.9 326.4 0.202
length 32.6 146.5 0.223
containers 24.0 103.7 0.231
strings 0.9 3.6 0.248

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

TODO