ความต้องการหน่วยความจำ

Aspose.Wordsให้ความหลากหลายของคุณสมบัติในการทำงานกับเอกสารในรูปแบบต่างๆ จำเป็นต้องทราบว่าไม่มีข้อจำกัดในขนาดสูงสุดของไฟล์เอกสารที่Aspose.Wordsสามารถประมวลผลหรื ข้อจำกัดเพียงอย่างเดียวคือจำนวนRAM(หน่วยความจำ)ที่มีอยู่ในด้านของคุณ.

ความต้องการของหน่วยความจำเท่าใดAspose.Words

โดยปกติAspose.Wordsต้องใช้หน่วยความจำมากกว่าขนาดเอกสารหลายครั้งเพื่อสร้างโมเดลของเอกส ตัวอย่างเช่นถ้าขนาดเอกสารของคุณคือ 1MBAspose.Wordsต้อง 10-20MBของRAMเพื่อสร้างแบบจำลองวัตถุเอกสาร(DOM)ในหน่วยความจำ ตัวคูณขึ้นอยู่กับรูปแบบเนื่องจากบางรูปแบบมีขนาดกะทัดรัดกว่าตัวอื่น ตัวอย่างเช่นDOCXมีขนาดกะทัดรัดมากกว่าDOCและRTFและDOCมีขนาดกะทัดรัดมากกว่าRTF.

ไม่มีวิธีการที่แน่นอนในการประมาณว่าหน่วยความจำ Aspose.Words ใช้ไปเท่าใดจริง ๆ ในระหว่างการประมวลผลไฟล์เอกสารใด ๆ ดังที่คุณทราบ Java จะจัดเก็บข้อมูลในคลาส โดยอินสแตนซ์คลาสแต่ละตัวจะใช้หน่วยความจำบางส่วนสำหรับวัตถุประสงค์ภายใน JVM (เครื่องเสมือน Java) ดังนั้นย่อหน้าหรือข้อความที่จัดรูปแบบใด ๆ (แม้ว่าจะประกอบด้วยอักขระหนึ่งตัว) จะใช้หน่วยความจำเพิ่มเติมบางส่วนหลังจากโหลดลงใน DOM นอกจากนี้ กลไกการรวบรวมขยะ Java ยังใช้อัลกอริทึมที่ซับซ้อนเพื่อกำหนดเวลาที่ดีที่สุดในการดำเนินการรวบรวมหน่วยความจำ ซึ่งทำให้ยากต่อการกำหนดการใช้หน่วยความจำจริง.

วิธีการคำนวณปริมาณของหน่วยความจำ

ลองพิจารณาสองเอกสาร:

  1. DOCX"A"เอกสาร–0.35MBขนาด(2 พันหน้า),ข้อความเท่านั้น
  2. DOCX"B"เอกสาร–0.35MBขนาด(เพียง 1 หน้า),มีPNGภาพภายใน

ที่คุณรู้ว่าจำนวนมากของรูปแบบที่ทันสมัยเช่นDOCX,ODT,ฯลฯ เป็นเรื่องง่ายZIPคลังเก็บ ดังนั้นเราจึงได้รับขั้นตอนวิธีการคำนวณต่อไปนี้:

  1. ถอดซิปออก ไม่มีซิปเอกสาร"A"มี 20MBขนาดเอกสาร"B"มี0.4MBขนาด
  2. กำลังโหลดเอกสารลงในโมเดล(สร้างโมเดลอ็อบเจ็กต์เอกสาร-DOM):
  • การสร้างDOMของเอกสารแรก"A"ต้องใช้ขนาด 49MB
  • การสร้างDOMของเอกสารที่สอง"B"ต้องมีขนาดเพียง 2MB.
  1. การวัดจำนวนหน่วยความจำที่ต้องการเพื่อแสดงเอกสารเหล่านี้เป็นPDF สำหรับการดำเนินการนี้Aspose.Wordsต้องการ:
  • 294MBสำหรับเอกสาร"A"
  • 7MBสำหรับเอกสาร"B"

ดังนั้น,ที่คุณสามารถดู,ไม่มีการพึ่งพาอาศัยกันเชิงเส้นกับขนาดเอกสารการป้อนข้อมูล. มีหลายปัจจัยที่สามารถส่งผลกระทบต่อขนาดRAMที่ต้องการ-รูปแบบเอกสาร,ความซับซ้อนและโครงสร้าง,จำนวนภาพและรูปแบบของพวกเขา,และปัจจัยอื่นๆอีกมากมาย.

วิธีการคำนวณตัวคูณหน่วยความจำได้อย่างถูกต้องที่สุด

การทดลองกับเอกสารจริงหลายพันฉบับแสดงให้เห็นว่าโดยทั่วไปAspose.Wordsต้องใช้หน่วยความจำมากกว่าขนาดเอกสารโดยเฉลี่ยหลายครั้งเพื่อสร้างโมเดลเอกสารในหน่วยความจำและดำเนินการอย่างง่ายๆเช่นการแปลงระหว่างรูปแบบการไหลmail mergeแยกแยะแทนที่และอื่นๆ บางครั้งเรากำลังพูดถึงตัวคูณของ 2 และบางครั้ง 20.

การดำเนินงานที่ซับซ้อนมากขึ้นเช่นการแสดงผล(แปลงเป็นรูปแบบเพจคงที่),การอัปเดตฟิลด์,การแยกหน้า,และอื่นๆสำหรับเอกสารบางชนิดต้องใช้ทรัพยากรมากกว่าหน่วยความจำที่จัดสรรโดยเอกสารที่โหลดในAspose.WordsDOM20 เท่า.

หากผลลัพธ์การสร้างโปรไฟล์ของคุณบ่งบอกถึงปัญหาหน่วยความจำที่เป็นไปได้ในAspose.Wordsโปรดติดต่อเรา ทีมสนับสนุน และรวมข้อมูลการวินิจฉัยทั้งหมด.

ดูเพิ่มเติม