Re: Speed improvement using compile timegenerated proxies
"Fabio Maulo" <[email protected]> Thu, 4 Sep 2008 03:27:16 -0300
| Newsgroups | gmane.comp.windows.dotnet.nhibernate.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============1733700942== Content-Type: multipart/alternative; boundary="----=_Part_27318_19981189.1220509636786" ------=_Part_27318_19981189.1220509636786 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline We don't have so many response about it after 6000 download of NH2.0.0GA and 14000 downloads of Alpha1.BTW we are open to make NH more faster but without change all codebase. 2008/9/4 Jesse Napier <[email protected]> > As far as I know the performance of NHibernate got drastically slower in > version 2.0. I remember there was some testing done a while back but I'm > not sure if there issues were resolved. I don't think the slow down was due > to dynamic proxy. > > > ------------------------------ > > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Johan > Kirsten > *Sent:* Wednesday, September 03, 2008 2:54 PM > *To:* [email protected] > *Subject:* [NHibernate-development] Speed improvement using compile > timegenerated proxies > > > > Greetings > > > > There was a request for benchmark numbers regarding the performance > increase. I have performed my tests using the following configuration: > > > > Pentium 4 2.4 GHz > 1 GB RAM > Win XP Pro SP 3 > VS 2005 > NET 2.0 > MS SQL Server 2000 > Ran in debug mode > The nhibernate proxy generator by WC Pierce ( > http://code.google.com/p/nhibernateproxygenerator/) > NHibernate 2.0 (the nhibernate proxy generator requires NH 2.0 because it > needs to set the proxyfactoryfactory) > > > > I ran my tests by loading 5 different types from the db. For each type I > loaded the top 100 in the table. > I documented the times in milliseconds. The most important difference > between each type is the number of contained objects (and therefore foreign > keys). I have also documented this. > > > > Using run time proxies > > > > > > > > Type > > FK > > Run 1 > > Run 2 > > Run 3 > > Average > > 1 > > 0 > > 203 > > 203 > > 187 > > 198 > > 2 > > 1 > > 328 > > 328 > > 422 > > 359 > > 3 > > 2 > > 406 > > 407 > > 562 > > 458 > > 4 > > 3 > > 500 > > 703 > > 422 > > 542 > > 5 > > 3 > > 547 > > 484 > > 578 > > 536 > > > > > > > > > > > > > > Compile time proxies > > > > > > > > > > Type > > FK > > Run 1 > > Run 2 > > Run 3 > > Average > > 1 > > 0 > > 188 > > 218 > > 172 > > 193 > > 2 > > 1 > > 78 > > 47 > > 63 > > 63 > > 3 > > 2 > > 62 > > 78 > > 78 > > 73 > > 4 > > 3 > > 78 > > 63 > > 78 > > 73 > > 5 > > 3 > > 78 > > 94 > > 125 > > 99 > > > > > > > > > > > > > > Difference > > > > > > > > > > > > Type > > FK > > % reduction > > Calculation > > > > 1 > > 0 > > -3% > > > > = (193 - 198)/198 > > 2 > > 1 > > -83% > > > > = (63 - 359)/359 > > 3 > > 2 > > -84% > > > > = (73 - 458)/458 > > 4 > > 3 > > -87% > > > > = (73 - 542)/542 > > 5 > > 3 > > -82% > > > > = (99 - 536)/536 > > > For classes with contained objects (fk's) a reduction in process time of > approx 80% > e.g. a load time of 5 seconds can be reduced to 1 second for a list of > complex objects > No significant improvement in classes without contained objects (fk's) > > > > It is also important to realise that these are speed improvements on NH > 2.0. I suspect that the new Dynamic Proxy used by NH 2.0 also has its own > optimization. Therefore if you are coming from NH 1.2.1 I suspect you will > get an even greater improvement, but this is not confirmed > > > > Johan Kirsten > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Nhibernate-development mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/nhibernate-development > > -- Fabio Maulo ------=_Part_27318_19981189.1220509636786 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline <div dir="ltr">We don't have so many response about it after 6000 download of NH2.0.0GA and 14000 downloads of Alpha1.<div>BTW we are open to make NH more faster but without change all codebase.<br><br><div class="gmail_quote"> 2008/9/4 Jesse Napier <span dir="ltr"><<a href="mailto:[email protected]">[email protected]</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> <div bgcolor="white" lang="EN-US" link="blue" vlink="blue"> <div> <p><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy">As far as I know the performance of NHibernate got drastically slower in version 2.0. I remember there was some testing done a while back but I'm not sure if there issues were resolved. I don't think the slow down was due to dynamic proxy.</span></font></p> <p><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial;color:navy"> </span></font></p> <div> <div align="center" style="text-align:center"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <hr size="2" width="100%" align="center"> </span></font></div> <p><b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma;font-weight:bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma"> <a href="mailto:[email protected]" target="_blank">[email protected]</a> [mailto:<a href="mailto:[email protected]" target="_blank">[email protected]</a>] <b><span style="font-weight:bold">On Behalf Of </span></b>Johan Kirsten<br> <b><span style="font-weight:bold">Sent:</span></b> Wednesday, September 03, 2008 2:54 PM<br> <b><span style="font-weight:bold">To:</span></b> <a href="mailto:[email protected]" target="_blank">[email protected]</a><br> <b><span style="font-weight:bold">Subject:</span></b> [NHibernate-development] Speed improvement using compile timegenerated proxies</span></font></p> </div><div><div></div><div class="Wj3C7c"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> <div> <p><font size="2" face="Arial"><span style="font-size:10.0pt;font-family:Arial">Greetings</span></font></p> </div> <div> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </div> <div> <p><font size="2" face="Arial"><span style="font-size:10.0pt;font-family:Arial">There was a request for benchmark numbers regarding the performance increase. I have performed my tests using the following configuration:</span></font></p> </div> <div> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </div> <div> <p><font size="2" face="Arial"><span style="font-size:10.0pt;font-family:Arial">Pentium 4 2.4 GHz<br> 1 GB RAM<br> Win XP Pro SP 3<br> VS 2005<br> NET 2.0<br> MS SQL Server 2000 <br> Ran in debug mode<br> The nhibernate proxy generator by WC Pierce (<a href="http://code.google.com/p/nhibernateproxygenerator/" target="_blank">http://code.google.com/p/nhibernateproxygenerator/</a>)<br> NHibernate 2.0 (the nhibernate proxy generator requires NH 2.0 because it needs to set the proxyfactoryfactory)</span></font></p> </div> <div> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </div> <div> <p><font size="2" face="Arial"><span style="font-size:10.0pt;font-family:Arial">I ran my tests by loading 5 different types from the db. For each type I loaded the top 100 in the table.<br> I documented the times in milliseconds. The most important difference between each type is the number of contained objects (and therefore foreign keys). I have also documented this.</span></font></p> </div> <div> <p><font size="2" face="Arial"><span style="font-size:10.0pt;font-family:Arial"> </span></font></p> <table border="0" cellspacing="0" cellpadding="0" width="384" style="width:4.0in;border-collapse:collapse"> <colgroup><col style="width:48pt" span="6" width="64"> </colgroup><tbody><tr height="17" style="height:12.75pt"> <td width="192" colspan="3" height="17" style="width:2.0in;padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Using run time proxies</span></font></p> </td> <td width="64" height="17" style="width:48.0pt;padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td width="64" height="17" style="width:48.0pt;padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td width="64" height="17" style="width:48.0pt;padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Type</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">FK</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Run 1</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Run 2</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Run 3</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Average</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">1</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">0</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">203</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">203</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">187</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">198</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">2</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">1</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">328</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">328</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">422</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">359</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">3</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">2</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">406</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">407</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">562</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">458</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">4</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">3</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">500</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">703</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">422</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">542</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">5</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">3</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">547</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">484</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">578</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">536</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td colspan="2" height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Compile time proxies</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Type</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">FK</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Run 1</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Run 2</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Run 3</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Average</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">1</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">0</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">188</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">218</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">172</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">193</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">2</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">1</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">78</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">47</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">63</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">63</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">3</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">2</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">62</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">78</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">78</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">73</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">4</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">3</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">78</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">63</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">78</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">73</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">5</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">3</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">78</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">94</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">125</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">99</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Difference</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Type</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">FK</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">% reduction</span></font></p> </td> <td colspan="2" height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">Calculation</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">1</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">0</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">-3%</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td colspan="2" height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">= (193 - 198)/198</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">2</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">1</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">-83%</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td colspan="2" height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">= (63 - 359)/359</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">3</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">2</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">-84%</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td colspan="2" height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">= (73 - 458)/458</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">4</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">3</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">-87%</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td colspan="2" height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">= (73 - 542)/542</span></font></p> </td> </tr> <tr height="17" style="height:12.75pt"> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">5</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">3</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">-82%</span></font></p> </td> <td height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </td> <td colspan="2" height="17" style="padding:0in 0in 0in 0in;height:12.75pt"> <p><font size="2" face="Times New Roman"><span style="font-size:10.0pt">= (99 - 536)/536</span></font></p> </td> </tr> </tbody></table> <p><font size="2" face="Arial"><span style="font-size:10.0pt;font-family:Arial"><br> For classes with contained objects (fk's) a reduction in process time of approx 80%<br> e.g. a load time of 5 seconds can be reduced to 1 second for a list of complex objects<br> No significant improvement in classes without contained objects (fk's)</span></font></p> </div> <div> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </div> <div> <p><font size="2" face="Arial"><span style="font-size:10.0pt;font-family:Arial">It is also important to realise that these are speed improvements on NH 2.0. I suspect that the new Dynamic Proxy used by NH 2.0 also has its own optimization. Therefore if you are coming from NH 1.2.1 I suspect you will get an even greater improvement, but this is not confirmed</span></font></p> </div> <div> <p><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> </span></font></p> </div> <div> <p><font size="2" face="Arial"><span style="font-size:10.0pt;font-family:Arial">Johan Kirsten</span></font></p> </div> </div></div></div> </div> <br>-------------------------------------------------------------------------<br> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge<br> Build the coolest Linux based applications with Moblin SDK & win great prizes<br> Grand prize is a trip for two to an Open Source event anywhere in the world<br> <a href="http://moblin-contest.org/redirect.php?banner_id=100&url=/" target="_blank">http://moblin-contest.org/redirect.php?banner_id=100&url=/</a><br>_______________________________________________<br> Nhibernate-development mailing list<br> <a href="mailto:[email protected]">[email protected]</a><br> <a href="https://lists.sourceforge.net/lists/listinfo/nhibernate-development" target="_blank">https://lists.sourceforge.net/lists/listinfo/nhibernate-development</a><br> <br></blockquote></div><br><br clear="all"><br>-- <br>Fabio Maulo<br> </div></div> ------=_Part_27318_19981189.1220509636786-- --===============1733700942== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ --===============1733700942== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Nhibernate-development mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nhibernate-development --===============1733700942==--