@krono@whitequark we are probably kind of bad at asyncio. We never had a great benchmark based on that, and thus never focused on it. Maybe I should find some program that relies heavily on async, and try to profile it.
super interesting and opinionated blog post! It argues for an ideally very cheap, but always on tracing profiler. the profiler keeps a ring buffer of a bunch of function entries and exit and saves it out on user-triggered events. can be used to produce a trace from a core dump, or to debug tail latency ('this event was extra slow? let's dump the ring buffer').
I just merged the PyPy "known bits" JIT optimization that Nico Rittinghaus and I worked on in the last two years. It allows the JIT to reason about specific bits of integer variables that are known to be 0 or 1. This makes bit-manipulation code faster, sometimes significantly so.
A concrete example of something the JIT now knows, but didn't before: if you add two even integers together, you get an even result.
@corbin I think what I don't quite understand is why you need a python2 that still gets security updates if it's used exclusively for bootstrapping pypy
@corbin my approach for a build that doesn't depend on "binaries you didn't build yourself" is to build cpython as a build dependency only, then build PyPy with that. That gives you purity, but yes, unfortunately not speed.
PyPy/RPython contributor. Half time teaching at Uni Düsseldorf. Works on dynamic language implementations. Vegan. Love street art and art in public spaces, hiking, reading.they/them