Memory usage metrics in Excel (XlsIO) library

24 Jul 20263 minutes to read

This section reports the peak memory usage of XlsIO for the Text, DateTime, Number, Boolean, and Formula data types during Create and save and Load and read operations. Peak memory is the maximum value observed during a single run; the values below are reference points from a single machine and XlsIO version, and your results will vary based on hardware, .NET runtime, and the GC mode.

Methodology

The following table summarizes the benchmark setup used to produce the numbers on this page.

Item Value
Workbook size 100,000 rows × 50 columns (5,000,000 cells)
File format XLSX
XlsIO version Latest at time of measurement (see “Last updated” below)
Iterations per data type Worst of 5 runs after 1 warm-up run
Memory metric Managed heap + native buffers reported by the XlsIO samples
GC mode Default workstation GC
Disposal ExcelEngine and IWorkbook are disposed after each run

To reproduce these numbers on your machine, clone the XlsIO examples repository, open the sample folder linked from each row below, and run it from the command line or Visual Studio.

Test environment

Item Value
OS Windows 11 (64-bit)
Processor AMD Ryzen 5 7520U with Radeon Graphics, 2.80 GHz
Installed RAM 16 GB (15.3 GB usable)
System type 64-bit OS, x64 processor

Create and save

The following table shows the peak memory usage when creating and saving an XLSX document containing 100,000 rows and 50 columns for each supported data type.

Data type Peak memory Sample
Text 1.1 GB GitHub sample
DateTime 361 MB GitHub sample
Number 342 MB GitHub sample
Boolean 342 MB GitHub sample
Formula 848 MB GitHub sample

Load and read

The following table shows the peak memory usage when loading and reading cell values from an XLSX document containing 100,000 rows and 50 columns for each supported data type.

Data type Peak memory Sample
Text 945 MB GitHub sample
DateTime 289 MB GitHub sample
Number 290 MB GitHub sample
Boolean 185 MB GitHub sample
Formula 520 MB GitHub sample