Büyük Veri Setlerine Sahip Büyük Dosyalarla Çalışırken Bellek Kullanımını Optimize Etme
Büyük veri setleriyle çalışırken veya büyük bir Microsoft Excel dosyasını okurken, işlemin alacağı toplam RAM miktarı her zaman endişe kaynağıdır. Mücadele etmek için adapte edilebilecek önlemler bulunmaktadır. Aspose.Cells, bellek kullanımını azaltmak, düşürmek ve optimize etmek için bazı ilgili seçenekler ve API çağrıları sağlar. Ayrıca, işlemin daha verimli çalışmasına ve daha hızlı çalışmasına yardımcı olabilir.
Hücre verileri için kullanılan belleği azaltmak için MemorySetting.MemoryPreference seçeneğini kullanın. Büyük veri kümesi oluştururken, varsayılan ayar kullanmaktan daha fazla bellek tasarrufu sağlayabilir.
Bellek Kullanımını Optimize Etme
Aşağıdaki örnek, Aspose.Cells for Node.js via C++ ile büyük veri üzerinde çalışırken hafıza kullanımını nasıl optimize edeceğinizi göstermektedir.
//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");
Dikkat
Varsayılan seçenek, MemorySetting.Normal tüm sürümler için uygulanır. Bir çalışma kitabı büyük bir veri kümesi için hücreler için bir çalışma kitabı oluşturma gibi bazı durumlarda, MemorySetting.MemoryPreference seçeneği bellek kullanımını optimize edebilir ve uygulama için bellek maliyetini azaltabilir. Ancak bu seçenek özellikle iz sürmedeki bazı özel durumlarda performansı düşürebilir.
- Rastgele ve Tekrarlanan Şekilde Hücrelere Erişme: Hücre koleksiyonuna erişmek için en verimli sıralama, önce bir satırda hücre hücre, ardından satır satır erişmektir. Özellikle, Cells, RowCollection ve Row‘den elde edilen Numaralayıcı ile satırlara/hücrelere erişiyorsanız, performans MemorySetting.MemoryPreference ile maksimize edilecektir.
- Hücreleri ve Satırları Ekleme & Silme: Eğer Hücreler/Satırlar için birçok ekleme/silme işlemi varsa, MemorySetting.MemoryPreference modu için performans düşüşü, MemorySetting.Normal modu ile karşılaştırıldığında belirgin olacaktır.
- Farklı Hücre Türlerinde İşlemler: Eğer hücrelerin çoğu dize değerleri veya formüller içeriyorsa, bellek maliyeti MemorySetting.Normal modu ile aynı olacaktır ancak boş hücrelerin çok olduğu veya hücre değerlerinin sayısal, bool vb. olduğu durumlarda, MemorySetting.MemoryPreference seçeneği daha iyi performans verecektir.