And that tends to be the most expensive part of the operation, IIRC. On Thu, Feb 5, 2009 at 3:56 PM, Tuna Toksoz <[email protected]> wrote:
> Serializing configuration saves you from XML validation, at least. > > Tuna Toksöz > http://tunatoksoz.com > http://twitter.com/tehlike > > Typos included to enhance the readers attention! > > > > On Thu, Feb 5, 2009 at 3:53 PM, Fabio Maulo <[email protected]> wrote: > >> Configuration useless.Which are the classes, used in sessionFactory >> state, that are not serializable ? >> >> 2009/2/5 Tuna Toksoz <[email protected]> >> >> Yesterday I played with the idea of Serializing the configuration. People >>> complain about sessionFactory initialization takes forever and serialization >>> is an option most of the time. >>> I tried the idea of serializing SessionFactory which wasn't possible >>> since it has dependency on many nonserializable classes within NH (and >>> marking them as serializable is time consuming). Instead, I tried >>> serializing Configuration right after the buildSessionFactory operation >>> >>> BinaryFormatter fm = new BinaryFormatter(); >>> Stopwatch sw = Stopwatch.StartNew(); >>> FileStream fs = new FileStream("myfile.dat", >>> FileMode.OpenOrCreate, FileAccess.Write); >>> Configuration cfg = new Configuration(); >>> cfg.Configure(); >>> cfg.AddAssembly("DomainWith75EntityClass"); >>> cfg.Configure(); >>> cfg.BuildSessionFactory(); >>> fm.Serialize(fs, cfg); >>> sw.Stop(); >>> Console.WriteLine(sw.ElapsedMilliseconds); >>> >>> before BuildSessionFactory, serialization wasn't possible as >>> System.Xml.XmlSchema is nonserializable. >>> >>> This took 3998 ms >>> >>> and then I tried >>> >>> BinaryFormatter fm = new BinaryFormatter(); >>> Stopwatch sw = Stopwatch.StartNew(); >>> FileStream fs = new FileStream("myfile.dat", FileMode.Open, >>> FileAccess.Read); >>> var cfg = fm.Deserialize(fs) as Configuration; >>> cfg.BuildSessionFactory(); >>> sw.Stop(); >>> Console.WriteLine(sw.ElapsedMilliseconds); >>> >>> this took 1578 ms on average. >>> >>> Should I make Configuration serializable, or do you think it is useless? >>> >>> >>> >>> Tuna Toksöz >>> http://tunatoksoz.com >>> http://twitter.com/tehlike >>> >>> Typos included to enhance the readers attention! >>> >>> >> >> >> -- >> Fabio Maulo >> > >
