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 349.7 0.000
tuple_return_value 0.0 111.6 0.000
modules 0.8 180.9 0.005
fib_iter 6.5 738.0 0.009
loops 3.4 328.4 0.010
fib_recursive 9.7 878.3 0.011
scoped_resource 11.5 751.1 0.015
classes 1.7 19.8 0.086
cgi 82.4 499.4 0.165
strings 0.9 5.3 0.171
containers 20.1 114.5 0.176
escape 66.0 343.8 0.192
length 32.2 152.3 0.211
varargs 2.6 0.0 inf

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.9 7.8 0.37
strings 2.9 7.5 0.38
fib_recursive 2.9 7.6 0.39
modules 3.0 7.6 0.39
scoped_resource 3.0 7.6 0.39
asdl_generated 3.0 7.6 0.40
tuple_return_value 3.0 7.6 0.40
varargs 3.1 7.5 0.41
escape 3.1 7.5 0.41
length 3.1 7.5 0.41
fib_iter 3.2 7.5 0.43
cgi 3.1 7.3 0.43
classes 3.4 7.7 0.44
containers 36.4 48.1 0.76

TODO