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/

Reply via email to