Makes a huge difference in Firefox, presumably due to spidermonkey's loop tracing.
A significant chunk of process time was being spent in the print function. I moved that functionality out of the loop to make sure it wasn't negatively (and unfairly) impacting results.
Switched to a few common JS idioms in case the JS engines optimize for those particular use cases.