[
https://issues.apache.org/jira/browse/PDFBOX-4895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17165211#comment-17165211
]
Andreas Lehmkühler commented on PDFBOX-4895:
--------------------------------------------
COSNumber.get is a public method and we can't rely on the assumption that the
caller already checked the format. Furthermore there are more calls to that
method without any format checks, see
\{{org.apache.pdfbox.pdmodel.fdf.FDFAnnotation}} and
\{{org.apache.pdfbox.pdmodel.fdf.FDFAnnotation}}.
W.r.t. to the rendering issue, older versions already produce the same results,
so that it isn't a regression of our last changes/optimizations. A part of the
content of the pdf in question is malformed which leads to that issue.
> Faster COSNumber
> ----------------
>
> Key: PDFBOX-4895
> URL: https://issues.apache.org/jira/browse/PDFBOX-4895
> Project: PDFBox
> Issue Type: Improvement
> Affects Versions: 2.0.20, 3.0.0 PDFBox
> Reporter: Alfred
> Assignee: Tilman Hausherr
> Priority: Trivial
> Labels: Optimization
> Fix For: 2.0.21, 3.0.0 PDFBox
>
> Attachments: PDFBOX-3703-966635-p12.pdf-1.png, PDFBOX-4895-b.patch,
> PDFBOX-4895.patch, Untitled.png
>
>
> A small improvement can be made to COSNumber when checking if it's float.
> Current version uses indexOf twice, to check for '.' or 'e'.
> We can do that in one scan.
>
> Each call will scan through the entire string.
> We only have to scan until we find the chars, and stop if found.
>
> I found while profiling the code that the method gets called a lot, so the
> improvement makes a a bit of a difference.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]