[ 
https://issues.apache.org/jira/browse/PDFBOX-4877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17133212#comment-17133212
 ] 

Alfred commented on PDFBOX-4877:
--------------------------------

Oh, and another question is, why do we do 
 if (!Float.isFinite(c[0]) || !Float.isFinite(c[1]) || !Float.isFinite(c[2])
            || !Float.isFinite(c[3]) || !Float.isFinite(c[4]) || 
!Float.isFinite(c[5])
            || !Float.isFinite(c[6]) || !Float.isFinite(c[7]) || 
!Float.isFinite(c[8]))        throw new IllegalArgumentException("Multiplying 
two matrices produces illegal values");
This seems like the kind of validation one would need when creating PDF 
documents, not when parsing them.
Do we really need it here, in the multiply method?

Even more, than not needing it, when we parse documents, we would prefer to 
avoid exceptions.

> Matrix class performance improvements
> -------------------------------------
>
>                 Key: PDFBOX-4877
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4877
>             Project: PDFBox
>          Issue Type: Improvement
>          Components: Parsing, Text extraction
>    Affects Versions: 2.0.20, 3.0.0 PDFBox
>            Reporter: Alfred
>            Assignee: Andreas Lehmkühler
>            Priority: Major
>              Labels: Optimization
>         Attachments: PDFBOX-4877.patch
>
>   Original Estimate: 1m
>  Remaining Estimate: 1m
>
> I am testing text extraction from PDF and profiling the execution.
> I found that the third major time consumer is with matrix multiplicaitons.
> The Matrix class spends large amounts of time copying results to new 
> instances. 
> Also, the if statements are slowing down execution as they kill performance 
> in modern CPUs.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to