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

メモリの最適化

Aspose.Cells for Node.jsを使用して大きなデータと一緒にメモリ使用量を最適化する方法を示す例が以下に示されています。

//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オプションはパフォーマンスが向上します。