Optimización del uso de memoria al trabajar con archivos grandes que contienen conjuntos de datos extensos

Optimización de memoria

El siguiente ejemplo muestra cómo optimizar el uso de memoria al trabajar con datos grandes en Aspose.Cells para Node.js a través de C++.

//This example shows how to optimize memory usage while working with large data in Aspose.Cells for Node.js via C++

const { Workbook, FileFormatType, MemorySetting } = require("aspose.cells.node");

var workbook = new Workbook(FileFormatType.Xlsx);

// apply the setting to existing "Sheet1"
workbook.getWorksheets().get(0).getCells().setMemorySetting(MemorySetting.MemoryPreference);

// apply the setting globally
workbook.getSettings().setMemorySetting(MemorySetting.MemoryPreference);

workbook.save("out.xlsx");

Precaución

La opción predeterminada, MemorySetting.Normal se aplica a todas las versiones. Para algunas situaciones, como la creación de un libro de trabajo con un gran conjunto de datos para celdas, la opción MemorySetting.MemoryPreference puede optimizar el uso de memoria y disminuir el costo de memoria para la aplicación. Sin embargo, esta opción puede degradar el rendimiento en algunos casos especiales como sigue.

  1. Acceso a celdas de forma aleatoria y repetida: La secuencia más eficiente para acceder a la colección de celdas es celda por celda en una fila, y luego fila por fila. Especialmente, si accede a filas/celdas mediante el Enumerador adquirido de Cells, RowCollection y Row, el rendimiento será maximizado con MemorySetting.MemoryPreference.
  2. Inserción y eliminación de celdas y filas: Tenga en cuenta que si hay muchas operaciones de inserción/eliminación para Celdas/Filas, la degradación del rendimiento será notable para el modo MemorySetting.MemoryPreference en comparación con el modo MemorySetting.Normal .
  3. Operación en diferentes tipos de celdas: Si la mayoría de las celdas contienen valores de cadena o fórmulas, el costo de memoria será el mismo que el modo MemorySetting.Normal pero si hay muchas celdas vacías, o los valores de las celdas son numéricos, booleanos, etc., la opción MemorySetting.MemoryPreference dará un mejor rendimiento.