[
https://issues.apache.org/jira/browse/PDFBOX-3103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15004286#comment-15004286
]
Tilman Hausherr commented on PDFBOX-3103:
-----------------------------------------
Can you please retest with the current trunk? There were improvements re:
caching glyphs (PDFBOX-3088).
I did test your change (please resubmit it as a patch, and don't change the
existing formatting, and change the API to throws IOException instead of that
weird rethrow you did) with a multithreaded test and it failed, images were
rendered differently, glyphs were missing. This happened when files were loaded
not as files, but as FileInputStream. However in a second test later it all
worked. And it could also be because of another uncommitted "suspicious" change
(PDFBOX-3080).
> Slow performance when printing PDF (fix provided)
> -------------------------------------------------
>
> Key: PDFBOX-3103
> URL: https://issues.apache.org/jira/browse/PDFBOX-3103
> Project: PDFBox
> Issue Type: Improvement
> Components: FontBox
> Affects Versions: 2.0.0
> Reporter: Tomasz Pawlak
> Labels: easyfix, easytest, patch, performance
> Attachments: RAFDataStream.java, test.pdf
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> When printing a PDF document (4 pages, 177KB, link below) using command
> {code}
> java -jar pdfbox-app-2.0.0-RC1.jar PrintPDF test.pdf
> {code}
> processing of the document before print takes about 15 seconds on system with
> Core i5-4670 processor.
> Most of the time is wasted on reading font files from system. The reason is
> that the font is read byte by byte in an unbuffered manner. The defective
> code is located in class {{org.apache.fontbox.ttf.RADDataStream}}, where new
> instance of {{RandomAccessFile}} is created without buffering.
> I prepared a buffer wrapper over {{RandomAccessFile}} that adds buffering to
> {{RandomAccessFile}}. Use of the buffer in {{RADDataStream}} shortens
> printing time *5 times*, i.e., printing takes 3 seconds instead of 15s.
> The wrapper class is augmented version of a class released at
> https://code.google.com/p/jmzreader/wiki/BufferedRandomAccessFile (Apache
> License 2.0).
> Please integrate provided fix with original source of FontBox.
> PDF document and fix are available at http://1drv.ms/1NsKPFc
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]