The largest part of the the 2to3 runtime is spent in the pattern matching algorithm. This currently uses a fairly naive back-tracking approach. Replacing it with an algorithm based on the computation of finite state machines out of the patterns should allow efficient simultaneous matching of patterns with many alternatives.