大規模なデータセットを扱う場合のメモリ使用量を最適化する

メモリの最適化

以下の例は、大規模なデータを扱う際にメモリ使用量を最適化する方法を示しています Aspose.Cells for 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");

注意

デフォルトオプションMemorySetting.Normalはすべてのバージョンで適用されます。大量のセルデータセットを持つワークブックを構築するなどの一部の状況では、メモリ使用を最適化し、アプリケーションのメモリコストを減らすことができるかもしれませんが、このオプションは特定の状況ではパフォーマンスを低下させる可能性があります。

  1. ランダムで繰り返しセルにアクセス: セルのコレクションにアクセスする最も効率的なシーケンスは、行ごとに1つずつセルにアクセスし、その後行ごとにアクセスすることです。特に、CellsRowCollectionおよびRowから取得したEnumeratorで行/セルにアクセスする場合、パフォーマンスはMemorySetting.MemoryPreferenceで最適化されます。
  2. セルや行の挿入および削除:多くの挿入/削除操作がセル/行にある場合、MemorySetting.MemoryPreferenceモードでは、MemorySetting.Normalモードと比較してパフォーマンスの低下が顕著になります。
  3. 異なるセルタイプでの操作:ほとんどのセルが文字列値や数式を含む場合、メモリコストはMemorySetting.Normalモードと同じになりますが、空のセルが多いか、セルの値が数値、ブール値などの場合、MemorySetting.MemoryPreferenceオプションはパフォーマンスが向上します。