On Apr 24, 2010, at 8:59 PM, trumpetinc wrote: > If the file is being entirely pre-loaded, then I doubt that IO blocking is a > significant contributing factor to your test. > After I did the entire pre-loading, taking the entire file at once the benchmarks look better yes, meaning there is some bottleneck in the way itext handles the loading of the PDF files. Besides changing to a different storage i.e. from non SSD in the office to SSD in my laptop shows a performance improvement by a factor of 5x, of course there could be other reasons but I would be willing to bet that this 5x faster is by a high margin due to the fast SSD. If there is something SSD are really good at is Random access and iText is doing that and a lot.
Benchmarking the alternative in my laptop shows: alternative mean RT: 18ms itext mean RT: 14ms So in my laptop itext is faster than the alternative ... why? I think because of random access. If itext was doing a lot of random access it could slow it down in a non-SSD drive like the one I have in the office.I have to benchmark again itext in the office to see how it performs with the new "load the entire file" strategy. Because of these variations I will setup the experiment in the actual hardware where it will be deployed. > I think that the best clue here may be the difference between performance > with form flattening and without form flattening. Just to confirm, am I > right in saying that iText outperforms the competitor by a significant > amount in the non-flattening scenario? If that's the case, then it seems > like we should see significant differences in the profiling results between > the flattening and non-flattening scenarios in iText. > > Would you be willing to post the profiling results for both cases so we can > see which code paths are consuming the most runtime in each? > I posted this yesterday, see http://old.nabble.com/more-on-performance-td28346917.html - FOOTER 4x shows the Hot spot profiler results in the loading and flattening case - HEADER 4x shows the Hot spot profiler results for the loading only > BTW - which profiler are you using? Are you able to expand each of the > hotspot code paths and see the actual call path that is causing the > bottleneck? I use jvvm, and the results of expanding the hotspot call trees > can be quite illuminating. > I am using JProfiler. I can expand the Hotspots, it shows the full call trees leading to the Hot spot. > What I really would like is to get ahold of your two benchmark tests (with > and without flattening) so I can run it on my system - do you have anything > you can package up and share? > I will prepare it for you ... Best regards, Giovanni ------------------------------------------------------------------------------ _______________________________________________ iText-questions mailing list iText-questions@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/itext-questions Buy the iText book: http://www.itextpdf.com/book/ Check the site with examples before you ask questions: http://www.1t3xt.info/examples/ You can also search the keywords list: http://1t3xt.info/tutorials/keywords/