[
https://issues.apache.org/jira/browse/PDFBOX-5846?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
liu updated PDFBOX-5846:
------------------------
Summary: A PDF with 5.3 million xref data, performance comparison between
pdfbox3 and itextpdf.hope to optimize the memory usage and loading process
time. (was: A PDF with 5.3 million xref data, performance comparison between
pdfbox3 and itextpdf.)
> A PDF with 5.3 million xref data, performance comparison between pdfbox3 and
> itextpdf.hope to optimize the memory usage and loading process time.
> -------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: PDFBOX-5846
> URL: https://issues.apache.org/jira/browse/PDFBOX-5846
> Project: PDFBox
> Issue Type: Improvement
> Components: Rendering
> Affects Versions: 3.0.2 PDFBox
> Reporter: liu
> Priority: Major
> Attachments: 66.7z, image-2024-06-28-15-49-33-885.png,
> image-2024-06-28-15-50-36-240.png, image-2024-06-28-15-57-49-634.png,
> image-2024-06-28-16-00-39-424.png
>
>
> There is a pdf in this compressed file.
> [^66.zip]
>
> Test comparison code
>
> {code:java}
> //代码占位符
> package net.qiyuesuo.common.pdf;
> import com.itextpdf.text.pdf.PdfReader;
> import org.apache.pdfbox.Loader;
> import org.apache.pdfbox.io.IOUtils;
> import org.apache.pdfbox.pdmodel.PDDocument;
> import java.io.File;
> /**
> * @author :
> * @description :
> * @date :
> */
> public class Test6 {
> private static void pdfbox3() throws Throwable{
> long l = System.currentTimeMillis();
> File file = new File("C:\\Users\\LYCIT\\Downloads\\66.pdf");
> PDDocument pdf = Loader.loadPDF(file,
> IOUtils.createTempFileOnlyStreamCache());
> System.out.println("loadPDF time:"+ (System.currentTimeMillis() - l));
> Thread.sleep(36000000);
> }
> public static void itextpdf() throws Throwable {
> long l = System.currentTimeMillis();
> String file = "C:\\Users\\LYCIT\\Downloads\\66.pdf";
> final PdfReader pdfReader = new PdfReader(file, null, true);
> System.out.println("loadPDF time:"+ (System.currentTimeMillis() - l));
> Thread.sleep(36000000);
> }
> public static void main(String[] args) throws Throwable {
> pdfbox3();
> // itextpdf();
> }
> }
> {code}
> Load time:
> pdfbox3:10233 ms.
>
> itextpdf:925 ms.
> Memory usage:
> pdfbox3:790M.
> !image-2024-06-28-15-49-33-885.png|width=312,height=151!
> itextpdf:106M.
> !image-2024-06-28-15-50-36-240.png|width=307,height=166!
>
> Detailed memory usage:
> pdfbox3:xrefTable and keyCache.
> !image-2024-06-28-15-57-49-634.png|width=307,height=200!
> itextpdf:xref and xrefObj.
> !image-2024-06-28-16-00-39-424.png|width=311,height=203!
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]