Re: Speed improvement using compile time generated proxies
"Fabio Maulo" <[email protected]> Wed, 3 Sep 2008 19:33:11 -0300
| Newsgroups | gmane.comp.windows.dotnet.nhibernate.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============1404925860== Content-Type: multipart/alternative; boundary="----=_Part_24659_3504638.1220481191945" ------=_Part_24659_3504638.1220481191945 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Do you can send me the solution with all your sources and required external lib ?Thanks. 2008/9/3 Johan Kirsten <[email protected]> > 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_24659_3504638.1220481191945 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline <div dir="ltr">Do you can send me the solution with all your sources and required external lib ?<div>Thanks.<br><br><div class="gmail_quote">2008/9/3 Johan Kirsten <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="#ffffff"> <div><font face="Arial" size="2">Greetings</font></div> <div><font face="Arial" size="2"></font> </div> <div><font face="Arial" size="2">There was a request for benchmark numbers regarding the performance increase. I have performed my tests using the following configuration:</font></div> <div><font face="Arial" size="2"></font> </div> <div><font face="Arial" size="2">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)</font></div> <div> </div> <div><font face="Arial" size="2">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.</font></div> <div><font face="Arial" size="2"><br> <table style="width:288pt;border-collapse:collapse" cellspacing="0" cellpadding="0" width="384" border="0"> <colgroup> <col style="width:48pt" span="6" width="64"> </colgroup><tbody> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;width:144pt;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" width="192" colspan="3" height="17"><font size="2">Using run time proxies</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;width:48pt;border-bottom:#e0dfe3;background-color:transparent" width="64"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;width:48pt;border-bottom:#e0dfe3;background-color:transparent" width="64"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;width:48pt;border-bottom:#e0dfe3;background-color:transparent" width="64"><font size="2"></font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">Type</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">FK</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">Run 1</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">Run 2</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">Run 3</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">Average</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">1</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">0</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">203</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">203</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">187</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">198</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">2</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">1</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">328</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">328</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">422</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">359</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">3</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">2</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">406</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">407</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">562</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">458</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">4</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">3</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">500</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">703</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">422</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">542</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">5</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">3</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">547</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">484</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">578</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">536</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" colspan="2" height="17"><font size="2">Compile time proxies</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">Type</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">FK</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">Run 1</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">Run 2</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">Run 3</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">Average</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">1</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">0</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">188</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">218</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">172</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">193</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">2</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">1</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">78</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">47</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">63</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">63</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">3</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">2</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">62</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">78</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">78</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">73</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">4</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">3</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">78</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">63</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">78</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">73</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">5</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">3</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">78</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">94</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">125</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">99</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">Difference</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">Type</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">FK</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">% reduction</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent" colspan="2"><font size="2">Calculation</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">1</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">0</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">-3%</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent" colspan="2"><font size="2">= (193 - 198)/198</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">2</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">1</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">-83%</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent" colspan="2"><font size="2">= (63 - 359)/359</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">3</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">2</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">-84%</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent" colspan="2"><font size="2">= (73 - 458)/458</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">4</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">3</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">-87%</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent" colspan="2"><font size="2">= (73 - 542)/542</font></td></tr> <tr style="height:12.75pt" height="17"> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;height:12.75pt;background-color:transparent" height="17"><font size="2">5</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">3</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2">-82%</font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent"><font size="2"></font></td> <td style="border-right:#e0dfe3;border-top:#e0dfe3;border-left:#e0dfe3;border-bottom:#e0dfe3;background-color:transparent" colspan="2"><font size="2">= (99 - 536)/536</font></td></tr></tbody></table><br></font><font face="Arial" size="2">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)</font></div> <div><font face="Arial" size="2"></font> </div> <div><font face="Arial" size="2">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</font></div> <div><font face="Arial" size="2"></font> </div><font color="#888888"> <div><font face="Arial" size="2">Johan Kirsten</font></div></font></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_24659_3504638.1220481191945-- --===============1404925860== 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=/ --===============1404925860== 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 --===============1404925860==--