About 10% faster (it's still on the slow side) by writing output to memory first;
The WPI parser stores the boundary values;