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

Maruan Sahyoun commented on PDFBOX-5068:
----------------------------------------

[~lehmi] [~tilman]  could you try a quick test for me 

{code:java}
    public void testSaveLargeFile() throws IOException
    {
        URL sourceUrl = new 
URL("https://crossasia-books.ub.uni-heidelberg.de/xasia/reader/download/506/506-42-86246-2-10-20190822.pdf";);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        PDDocument doc;
        try
        {
            doc = PDDocument.load(sourceUrl.openStream());
            doc.saveIncremental(baos);
        }
        catch (Exception e) 
        {
            System.out.println(e);
        }
    }
 {code}

using 2.0 and 3.0.0-alpha2 as well as trunk (adjusted to match the new API) and 
report the time needed per version. Looks like we do have a huge performance 
hit. thx 


> OutOfMemory while signing large documents - continued
> -----------------------------------------------------
>
>                 Key: PDFBOX-5068
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-5068
>             Project: PDFBox
>          Issue Type: Improvement
>          Components: Signing
>    Affects Versions: 2.0.23
>            Reporter: Ralf Hauser
>            Assignee: Andreas Lehmkühler
>            Priority: Major
>         Attachments: RandomAccessReadBufferDiag.java, issue5068.patch, 
> minimum.pdf
>
>
> Continuation of PDFBOX-2512
>  
> in COSWriter.prepareIncrement(), for the test case 
> cosDoc.getXrefTable().keySet() has size 5925. For each of thes keys, 
> cosDoc.getObjectFromPool() gets an object that is not just referencing some 
> part of the input document, but duplicates it (which is unavoidable in the 
> case where they are decompressed with FlateFilter - albeit this could 
> possibly be done "lazy")
> -Xmx20m  746/5925
>  -Xmx25m 1615/5925
>  -Xmx30m 2800/5925
>  -Xmx40m 3872/5925
>  -Xmx55m 5773/5925
> With 60m, it gets them all, but dies later with less telling
>    java.lang.OutOfMemoryError: GC overhead limit exceeded
>  
> This assumes the patch of PDFBOX-5067 already in place - or using 
> CreateVisibleSignature2.java as starting point



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

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

Reply via email to