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
asdl_generated 0.0 354.1 0.000
classes 0.0 22.0 0.000
varargs 0.0 4.8 0.000
fib_iter 3.2 710.4 0.004
modules 0.8 183.6 0.004
loops 3.4 327.5 0.010
fib_recursive 10.2 878.3 0.012
scoped_resource 11.0 779.7 0.014
tuple_return_value 3.3 97.0 0.034
strings 0.9 7.5 0.115
cgi 82.7 458.8 0.180
escape 60.4 321.5 0.188
containers 19.9 104.8 0.190
length 29.9 141.6 0.211

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

TODO