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 43.4 0.000
modules 2.3 319.2 0.007
fib_iter 19.0 1,185.6 0.016
asdl_generated 10.4 627.2 0.017
scoped_resource 21.6 1,266.6 0.017
fib_recursive 26.6 1,478.8 0.018
loops 10.5 503.4 0.021
tuple_return_value 8.8 182.7 0.048
cgi 112.9 782.4 0.144
strings 2.0 9.9 0.201
escape 121.0 552.8 0.219
length 63.3 272.8 0.232
containers 43.5 186.3 0.234
varargs 5.3 10.8 0.486

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

TODO