This is very cool... It would be interesting to test this on a big wiki with big objects. Curriki would probably be a very nice target of this patch.
Ludovic Caleb James DeLisle wrote: > My loader is able to load every page in my copy of XE and they all pass the > .equals( test against > the same page loaded by the default loader so I feel that I'm ready to > publish some tests. > > These are time results (in milliseconds) for loading a page containing 1000 > comments. > see: http://jira.xwiki.org/jira/browse/XWIKI-2874 > My test script runs the tests 30 times interchanging old loader and new. > These tests were all the first call to a newly started server, you can see it > speed up > as the code is jit compiled. > > Conclusion: > 850% improvment can be expected for loading a page with 1000 comments. > StringListProperty and LargeStringProperty being mapped to the same column > costs about > 100ms for the workaround, disabling this workaround brings it to an even > 1000% speed increase. > Disabling custom mapping saves a whopping 8ms. This surprised me. > My loader is only marginally faster at loading all of the pages in XE, it is > best > at scaling with lots of objects. This didn't surprise me. > > > The actual test results are below. > > Caleb James DeLisle > > > test1: > no special optimizations. > > Old loader ===================== New Loader > 11835ms. ===================== 2875ms. > 7776ms. ===================== 771ms. > 6827ms. ===================== 684ms. > 6652ms. ===================== 405ms. > 4406ms. ===================== 348ms. > 3790ms. ===================== 363ms. > 3482ms. ===================== 288ms. > 3431ms. ===================== 965ms. > 3173ms. ===================== 295ms. > 3029ms. ===================== 271ms. > 3714ms. ===================== 278ms. > 3017ms. ===================== 285ms. > 3828ms. ===================== 271ms. > 2907ms. ===================== 285ms. > 2845ms. ===================== 258ms. > 2884ms. ===================== 275ms. > 2829ms. ===================== 276ms. > 2871ms. ===================== 256ms. > 3638ms. ===================== 285ms. > 2797ms. ===================== 295ms. > > old loader's average: 4284.6ms. > new loader's average: 501.4ms. > > > test2: > this is with the LargeString/StringList workaround disabled. > > Old loader ===================== New Loader > 11494ms. ===================== 1541ms. > 8916ms. ===================== 902ms. > 7209ms. ===================== 639ms. > 5584ms. ===================== 365ms. > 4649ms. ===================== 324ms. > 3700ms. ===================== 275ms. > 3454ms. ===================== 282ms. > 3391ms. ===================== 258ms. > 3875ms. ===================== 260ms. > 3087ms. ===================== 260ms. > 3714ms. ===================== 342ms. > 3012ms. ===================== 279ms. > 3045ms. ===================== 1109ms. > 3012ms. ===================== 242ms. > 2873ms. ===================== 244ms. > 2863ms. ===================== 247ms. > 2880ms. ===================== 257ms. > 2842ms. ===================== 276ms. > 3667ms. ===================== 255ms. > 2881ms. ===================== 259ms. > > old loader's average: 4305.3ms. > new loader's average: 430.8ms. > > > test3: > LargeString/StringList workaround & custom mapping disabled. > > Old loader ===================== New Loader > 11813ms. ===================== 1465ms. > 7984ms. ===================== 853ms. > 6819ms. ===================== 602ms. > 6182ms. ===================== 373ms. > 4609ms. ===================== 320ms. > 3749ms. ===================== 280ms. > 3484ms. ===================== 309ms. > 3348ms. ===================== 269ms. > 3797ms. ===================== 263ms. > 3119ms. ===================== 257ms. > 3733ms. ===================== 327ms. > 3044ms. ===================== 274ms. > 2985ms. ===================== 1086ms. > 2864ms. ===================== 239ms. > 2888ms. ===================== 265ms. > 2854ms. ===================== 262ms. > 2836ms. ===================== 264ms. > 2835ms. ===================== 269ms. > 3653ms. ===================== 241ms. > 2843ms. ===================== 247ms. > > old loader's average: 4269.8ms. > new loader's average: 423.2ms. > > _______________________________________________ > devs mailing list > devs@xwiki.org > http://lists.xwiki.org/mailman/listinfo/devs > > -- Ludovic Dubost Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs