I'll look at optimisations at some point later, performance is surprisingly good now anyway (170k request per sec on my mb air)