Требования к памяти
Aspose.Words Предоставляет широкий спектр возможностей для работы с документами в различных форматах. Важно отметить, что нет ограничений на максимальный размер файла документа, который может быть использован. Aspose.Words Может обрабатывать или воспроизводить. Единственным ограничением является количество оперативной памяти (ОЗУ), доступной на вашей стороне.
Сколько памяти Aspose.Words потребности
Обычно Aspose.Words Для построения модели документа в памяти требуется в несколько раз больше памяти, чем размер документа. Например, если размер документа составляет 1 МБ, Aspose.Words Требуется 10-20 МБ оперативной памяти для создания Document Object Model ()DOM) в память. Умножитель зависит от формата, потому что некоторые форматы более компактные, чем другие. Например, DOCX более компактен, чем DOC и RTF, а DOC более компактен, чем RTF.
Нет точного способа оценить, сколько памяти Aspose.Words фактически потребляет во время обработки какой-либо конкретный файл документа. Как вы можете знать .NET Хранит данные в классах, каждый экземпляр класса использует некоторую память для внутренних целей CLR. Таким образом, любой абзац или отформатированный текст (даже если он состоит из одного символа) требует дополнительной памяти после загрузки. DOM. Более того, .NET Двигатель для сбора мусора использует сложный алгоритм для определения наилучшего времени для выполнения сбора памяти, что затрудняет определение реального потребления памяти.
Как рассчитать количество памяти
Рассмотрим два документа:
- DOCX “A” документ - 0,35 МБ размер (2 тыс. страниц), только текст
- документ DOCX “B” - размер 0,35 МБ (всего 1 страница), с изображением PNG внутри
Как вы знаете, многие современные форматы, такие как DOCX, ODT и т.д., являются простыми ZIP-архивами. Итак, мы получаем следующий алгоритм расчета:
- Расстегнуть. Незапечатанный документ “А” имеет размер 20 МБ, документ “В” - 0,4 МБ
- Загрузка документа в модель (построение его) Document Object Model - DOM):
- Создание DOM для первого документа “А” требуется 49 МБ
- Создание DOM Для второго документа “В” требуется всего 2 МБ.
- Измерение необходимого объема памяти для перевода этих документов в PDF. Для этой операции, Aspose.Words требует:
- 294 МБ для документа “А”
- 7 МБ для документа “В”
Как видите, линейной зависимости от размера входного документа нет. Существует множество факторов, которые могут повлиять на требуемый размер оперативной памяти – формат документа, его сложность и структуру, количество изображений и их формат, и множество других факторов.
Как рассчитать множитель памяти наиболее точно
Эксперименты с тысячами реальных документов показывают, что Aspose.Words требуется в несколько раз больше памяти, чем средний размер документа, для построения модели документа в памяти и выполнения простых операций, таких как преобразование между форматами потока; mail merge, Разбирать, заменять и так далее. Иногда речь идет о множителе 2, а иногда и 20.
Более сложные операции, такие как рендеринг (преобразование в фиксированные форматы страниц), обновление полей, расщепление страницы и другие, для некоторых документов требуют в 20 раз больше ресурсов, чем память, выделенная документом, загруженным в Aspose.Words DOM.
Если результаты профилирования указывают на возможную проблему с памятью Aspose.Words, Пожалуйста, свяжитесь с нами Техническая поддержка Включите всю диагностическую информацию.