تحسين استخدام الذاكرة أثناء العمل مع ملفات كبيرة تحتوي على مجموعات بيانات كبيرة

تحسين الذاكرة

يوضح المثال التالي كيفية تحسين استخدام الذاكرة أثناء العمل مع مجموعات بيانات كبيرة في Aspose.Cells لـ Node.js via Java.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//This example shows how to optimize memory usage while working with large data in Aspose.Cells for Node.js via Java
var aspose = aspose || {};
aspose.cells = require("aspose.cells");
var workbook = new aspose.cells.Workbook(aspose.cells.FileFormatType.XLSX);
// apply the setting to existing "Sheet1"
workbook.getWorksheets().get(0).getCells().setMemorySetting(aspose.cells.MemorySetting.MEMORY_PREFERENCE);
// apply the setting globally
workbook.getSettings().setMemorySetting(aspose.cells.MemorySetting.MEMORY_PREFERENCE);
// Input large dataset into the cells of the worksheet. Your code goes here.
workbook.save("output.xlsx");

احترس

يتم تطبيق الخيار الافتراضي، MemorySetting.NORMAL، لجميع الإصدارات. بالنسبة لبعض الحالات، مثل بناء دفتر عمل بمجموعة بيانات كبيرة للخلايا، قد يحسن الخيار MemorySetting.MEMORY_PREFERENCE استخدام الذاكرة ويقلل من التكلفة الإجمالية للذاكرة للتطبيق. ومع ذلك، قد يؤدي هذا الخيار إلى تدهور الأداء في بعض الحالات الخاصة مثل التالي.

  1. الوصول العشوائي والمتكرر إلى الخلايا: أكثر تسلسل فعالية للوصول إلى مجموعة الخلايا هو الخلية بالخلية في صف واحد، ثم صف بعد صف. خاصة إذا أمكنك الوصول إلى الصفوف/الخلايا من خلال المدرج المصرف من Cells، RowCollection و Row، سيتم تحقيق أقصى أداء مع MemorySetting.MEMORY_PREFERENCE.
  2. إدراج وحذف الخلايا والصفوف: يرجى ملاحظة أنه إذا كانت هناك الكثير من عمليات الإدراج/الحذف للخلايا/الصفوف، سيكون هناك تدهور أداء ملحوظ لوضع MemorySetting.MEMORY_PREFERENCE مقارنة بوضع MemorySetting.NORMAL.
  3. العمل على أنواع مختلفة من الخلايا: إذا كان معظم الخلايا تحتوي على قيم سلسلة أو صيغ، فإن تكلفة الذاكرة ستكون نفسها كوضع MemorySetting.NORMAL ولكن إذا كانت هناك الكثير من الخلايا الفارغة، أو قيم الخلايا هي رقمية، بوليانية وما إلى ذلك، فإن الخيار MemorySetting.MEMORY_PREFERENCE سيعطي أداءً أفضل.