The problem was with the number of objects we create. Because python will manage them, it starts to bog down once you get 10s of millions. I even wrote a simple python app that just creates an object wrapping one char over and over, you can see how quickely it slows down. It can get about an order of magnitude more if you use internal structures (lists or tuples), but still not enough for our app.