Its not so true but true. Thanks we gain ~30" running all our ~4000 tests where we are recreating the configuration for each fixture.
On Wed, Apr 20, 2011 at 5:35 PM, Fabio Maulo <[email protected]> wrote: > mmmm.... are you 100% sure that the instantiation of XmlSerializer take 2" > ? > > > On Wed, Apr 20, 2011 at 3:16 PM, Oskar Berggren > <[email protected]>wrote: > >> In a current project of mine, it takes about 4.8 seconds to configure >> NHibernate and create the session factory. Of this, about 1.8 seconds >> are the first (and only) instantiation of >> XmlSerializer(typeof(HbmMapping)); in Configuration.cs. Timings are >> measured with the Stopwatch class. >> >> I can create an NHibernate.XmlSerializers.dll with this incantation: >> sgen /a:NHibernate.dll /t:NHibernate.Cfg.MappingSchema.HbmMapping >> /force /compiler:/keyfile:NHibernate.snk >> >> With this assembly available, the time to instantiate >> XmlSerializer(typeof(HbmMapping)); drops to only 7 ms, i.e. saving me >> almost two seconds for application startup. (The 7 ms are probable >> mostly IO and JIT - if a create the session factory again in the same >> process, creating the XmlSerializer drops to less than 0.7 ms.) >> >> While generating NHibernate.XmlSerializers.dll is fairly easy, it >> would perhaps be a good idea if the ordinary build procedure would do >> this, and include it in the binary package? >> >> The fixed issue http://216.121.112.228/browse/NH-2425 speaks of >> caching the XmlSerializer, and maybe that change was a good idea, but >> I'm sceptical regarding if it made much of a difference, given the >> numbers above. >> >> /Oskar >> > > > > -- > Fabio Maulo > > -- Fabio Maulo
