@whitequark @cfbolz meh.
If this workload is somewhat interpreter style, then I have seen such things before. Also pypy would be somewhat more happy with cffi than ctypes, as far as I recall.
Regarding the sudden drop, It *might* be that pypy just found that one speculation did not hold and has to look at the "new" trace. but if that happens repeatedly, thats no good.