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

Reply via email to