cms-sw/cmssw — pull request #1613 by Dr15Jones (2013-11-27 19:09:02+00:00)
Title: edm::Handle holds functor for exception construction

HLT Profiling done by Vincenzo Innocente showed that a large fraction of the time was being spent in setting up exception objects when non-existent data was requested. This was a waste of time since code was always checking the validity of the edm::Handle and therefore the exceptions were never thrown.

This code has the edm::Handle hold a functor which can create the exception if that exception is actually going to be used. igprof measurements have shown this to be faster than constructing the exception.