Optimisation de l utilisation de la mémoire lors du travail avec de gros fichiers contenant de grands ensembles de données

Optimisation de la mémoire

L’exemple suivant montre comment optimiser l’utilisation de la mémoire lors du travail avec de grandes données dans Aspose.Cells pour Node.js via 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");

Attention

L’option par défaut, MemorySetting.Normal est appliquée pour toutes les versions. Pour certaines situations, telles que la construction d’un classeur avec un grand ensemble de données pour les cellules, l’option MemorySetting.MemoryPreference peut optimiser l’utilisation de la mémoire et réduire le coût de la mémoire pour l’application. Cependant, cette option peut dégrader les performances dans certains cas particuliers comme suit.

  1. Accéder de manière aléatoire et répétée aux cellules: La séquence la plus efficace pour accéder à la collection de cellules est cellule par cellule dans une rangée, puis rangée par rangée. Surtout, si vous accédez aux lignes/cellules par l’énumérateur acquis à partir de Cells, RowCollection et Row, les performances seraient maximisées avec MemorySetting.MemoryPreference.
  2. Insertion & Suppression de cellules & de rangées: Veuillez noter que s’il y a beaucoup d’opérations d’insertion/suppression de Cellules/Rangées, la dégradation des performances sera notable pour le mode MemorySetting.MemoryPreference par rapport au mode MemorySetting.Normal.
  3. Traitement sur différents types de cellules: Si la plupart des cellules contiennent des valeurs de chaîne ou des formules, le coût de la mémoire sera le même que le mode MemorySetting.Normal mais s’il y a beaucoup de cellules vides, ou les valeurs des cellules sont numériques, booléennes, etc., l’option MemorySetting.MemoryPreference offrira de meilleures performances.