It starts to be OT wrt to this tutorial, but yes I expect that there are some way to improve it -- esp. replacing the RecDescParser by something more efficient. I suppose you use the dynamic version in both case ?