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

John Hewson edited comment on PDFBOX-2871 at 7/14/15 6:41 PM:
--------------------------------------------------------------

I'm not really worried about speeding up font parsing, we have the on-disk 
cache now, so it's an "only once ever" event. Scanning for files on the local 
system is already fast. What's still relatively slow about the new cache is 
that it uses Java's serialization - a custom serialisation format could be much 
faster. I'm also not sure about the speed of the Preferences API - benchmarking 
needed.


was (Author: jahewson):
I'm not really worried about speeding up font parsing, we have the on-disk 
cache now, so it's a "only once ever" event. Scanning for files on the local 
system is already fast. What's still relatively slow about the new cache is 
that it uses Java's serialization - a custom serialisation format could be much 
faster. I'm also not sure about the speed of the Preferences API - benchmarking 
needed.

> Performance issue when filling the first PDTextField of an AcroForm
> -------------------------------------------------------------------
>
>                 Key: PDFBOX-2871
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2871
>             Project: PDFBox
>          Issue Type: Bug
>          Components: AcroForm
>    Affects Versions: 2.0.0
>            Reporter: Maruan Sahyoun
>            Assignee: John Hewson
>            Priority: Critical
>              Labels: Appearance
>             Fix For: 2.0.0
>
>         Attachments: PDTextField.pdf, ProfilingOutput.png
>
>
> When filling the first PDTextField in a form the performance is slow. All 
> other PDTextFields in the form are handled quickly.
> This code
> {code}
> PDTextField field = (PDTextField) 
> doc.getDocumentCatalog().getAcroForm().getField("Textfield01");
> long start = System.nanoTime();
> field.setValue("ABCD");
> long end = System.nanoTime();
> double difference = (end - start)/1e6;
> System.out.println(difference);
> field = (PDTextField) 
> doc.getDocumentCatalog().getAcroForm().getField("Textfield02");
> start = System.nanoTime();
> field.setValue("ABCD");
> end = System.nanoTime();
> difference = (end - start)/1e6;
> System.out.println(difference);
> {code}
> produces the following output
> {noformat}
> 9713.38
> 3.904
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to