Forum How do I...?

Performance degredation upgrading from 6 to 8.1

jfraser
Hi Mike et al,

We recently upgraded to Prince 6r8 from Prince 8.1.3, and are experiencing performance problems such that we actually had to downgrade back to Prince 6. Generating small documents (1-3 pages) is fine in Prince 8, but once we start creating large documents (say, 50+ pages, which is common), it takes a very long time and uses significant resources.

An example: I have a 1.8MB HTML file. With Prince 6, converting it to PDF takes ~6 seconds and uses 40-50MB of RAM:

time prince input.html -o out.pdf

real	0m6.147s
user	0m5.720s
sys	0m0.336s


With Prince 8, it uses 380MB of RAM and takes ~21 seconds:

time prince input.html -o out.pdf

real	0m21.181s
user	0m20.585s
sys	0m0.476s


CPU usage was generally comparable between the two, although Prince 8 uses a bit more.

This particular test was run using Ubuntu 12.04 in a VirtualBox virtual machine; however, I have seen the same relative results in OS X 10.7 (3 GHz i7 / 8GB RAM) and Rackspace cloud servers (also ubuntu 12.04). I am using the Prince 8.1.3 64 bit packages for Ubuntu 12.04.

This particular file is actually relatively small compared to others that we work with (some are 300+ pages). For documents that large, our 2GB servers actually started running out of memory and paging.

I'm not sure how to start troubleshooting this. I'd love to get Prince 8 working because loading external resources in Prince 6 does not work on Ubuntu 12.04, even with ia32-lib installed.

Any advice? I can email my example HTML file if it would be helpful.

Thanks,

Jeff Fraser
mikeday
Please email me (mikeday@yeslogic.com) a sample document that is causing unusual memory usage; we want each version of Prince to be faster than the last, so we have to fix this. :)
mikeday
For the record, most of the performance degradation was caused by repeated style rules, which will be handled much more efficiently in Prince 9.0.