How slow is the tracing interpreter of PyPy's meta-tracing JIT?

I wanted to investigate the warmup behavior of the PyPy interpreter, so I wrote a somewhat arbitrary microbenchmark: all_results = set () num = int ( sys . argv [ 1 ]) class A ( object ): pass def main (): res = 0 for i in range ( num ): a = A () a . x = i d = { "a" : a . x } l = [ 0 , 1 , d [ "a" ]] res += l [ - 1 ] all_results . add ( res ) This function is the ideal case for PyPy's JIT…