twitter/chill — pull request #213 by zakattacktwitter (2014-12-31 16:33:19+00:00)
Title: Optimizations for ConfiguredInstantiator.

Found these gems when using -Xprof. Each IFile opened on a mapper creates a new ConfiguredInstantiator. The process of deserializing a KyroInstantiator from base64 data is very expensive. This fix simply caches the last one and if the base64 string matches returns it. Our average map time went from 45 minutes to 30 minutes with this fix. Verified via -Xprof that the offending functions were no longer a significant part of the profile.