نیازهای حافظه

Aspose.Words طیف گسترده ای از ویژگی ها را برای کار با اسناد در قالب های مختلف ارائه می دهد. توجه به این نکته مهم است که هیچ محدودیتی در حداکثر اندازه فایل سندی که Aspose.Words می تواند پردازش یا ارائه کند وجود ندارد. تنها محدودیت مقدار RAM (حافظه) موجود در سمت شما است.

Aspose.Words به چه مقدار حافظه نیاز دارد

معمولا Aspose.Words برای ساختن مدلی از سند در حافظه، چندین برابر بیشتر از اندازه سند به حافظه نیاز دارد. به عنوان مثال، اگر اندازه سند شما 1 مگابایت است، Aspose.Words به 10-20 مگابایت رم نیاز دارد تا Document Object Model (DOM) خود را در حافظه بسازد. ضریب به فرمت بستگی دارد زیرا برخی از فرمت ها فشرده تر از بقیه هستند. به عنوان مثال، DOCX از DOC و RTF فشرده تر است و DOC از RTF فشرده تر است.

هیچ راه دقیقی برای تخمین مقدار حافظه واقعی Aspose.Words در طول پردازش هر فایل سند خاصی وجود ندارد. همانطور که می دانید .NET داده ها را در کلاس ها ذخیره می کند، هر نمونه کلاس از مقداری حافظه برای اهداف داخلی CLR استفاده می کند. بنابراین هر پاراگراف یا متن فرمت شده (حتی شامل یک کاراکتر) پس از بارگیری در DOM مقداری حافظه اضافی می گیرد. علاوه بر این، موتور جمع‌آوری زباله .NET از الگوریتم پیچیده‌ای برای تعیین بهترین زمان برای اجرای جمع‌آوری حافظه استفاده می‌کند و تعیین میزان مصرف واقعی حافظه را دشوار می‌کند.

نحوه محاسبه مقدار حافظه

بیایید دو سند را در نظر بگیریم:

  1. سند DOCX “A” – اندازه 0.35 مگابایت (2 هزار صفحه)، فقط متن
  2. سند DOCX “B” - اندازه 0.35 مگابایت (فقط 1 صفحه)، با تصویر PNG در داخل

همانطور که می دانید، بسیاری از فرمت های مدرن مانند DOCX، ODT و غیره آرشیوهای ZIP ساده هستند. بنابراین، الگوریتم محاسبه زیر را دریافت می کنیم:

  1. باز کردن زیپ. سند زیپ نشده “A” دارای حجم 20 مگابایت، سند “B” دارای حجم 0.4 مگابایت است
  2. بارگذاری سند در مدل (ساخت Document Object Model - DOM آن):
  • ایجاد DOM اولین سند “A” به حجم 49 مگابایت نیاز دارد
  • ایجاد DOM از سند دوم “B” فقط به اندازه 2 مگابایت نیاز دارد.
  1. اندازه گیری مقدار حافظه مورد نیاز برای ارائه این اسناد به PDF. برای این عملیات، Aspose.Words به موارد زیر نیاز دارد:
  • 294 مگابایت برای سند “A”
  • 7 مگابایت برای سند “B”

بنابراین، همانطور که می بینید، هیچ وابستگی خطی به اندازه سند ورودی وجود ندارد. فاکتورهای زیادی وجود دارد که می تواند بر اندازه رم مورد نیاز تأثیر بگذارد - فرمت سند، پیچیدگی و ساختار آن، تعداد تصاویر و فرمت آنها و بسیاری از عوامل دیگر.

چگونه ضریب حافظه را با بیشترین دقت محاسبه کنیم

آزمایش‌ها با هزاران سند واقعی نشان می‌دهد که معمولاً Aspose.Words برای ساخت یک مدل سند در حافظه و انجام عملیات ساده مانند تبدیل بین فرمت‌های جریان، mail merge، تجزیه، جایگزینی و غیره چندین برابر بیشتر از اندازه متوسط سند به حافظه نیاز دارد. گاهی اوقات در مورد ضریب 2 صحبت می کنیم و گاهی اوقات 20.

عملیات پیچیده‌تر مانند رندر کردن (تبدیل به فرمت‌های صفحه ثابت)، به‌روزرسانی فیلدها، تقسیم صفحه و موارد دیگر، برای برخی از اسناد 20 برابر بیشتر از حافظه اختصاص داده شده توسط سند بارگذاری شده در Aspose.Words DOM به منابع نیاز دارند.

اگر نتایج پروفایل شما نشان دهنده وجود مشکل احتمالی حافظه در Aspose.Words است، لطفاً با پشتیبانی فنی ما تماس بگیرید و تمام اطلاعات تشخیصی را درج کنید.

همچنین ببینید