Performance Benchmark
<div class="performance-page">
<section class="performance-hero">
<div class="performance-hero-copy">
<p class="performance-eyebrow">Benchmark report</p>
<h1>Performance Benchmark Demo</h1>
<p class="performance-intro">Static benchmark data for Document Solutions for Excel, Java Edition. Download the Spring Boot package to run the same scenarios on your own machine with your own hardware, JDK, and runtime settings.</p>
<div class="performance-actions">
<a class="performance-download" href="api/examples/performancebenchmarkdemo/package">Download Performance Demo</a>
</div>
</div>
<div class="performance-summary">
<div class="performance-metric"><span>Create workbook</span><strong>2,035 ms</strong><em>100,000 rows x 10 columns</em></div>
<div class="performance-metric"><span>Open XLSX</span><strong>387 ms</strong><em>100,000 rows x 10 columns</em></div>
<div class="performance-metric"><span>Calculate formulas</span><strong>33 ms</strong><em>100,000 rows x 10 columns, 1 formula column</em></div>
<div class="performance-metric"><span>Export PDF</span><strong>21,751 ms</strong><em>100,000 rows x 10 columns</em></div>
</div>
</section>
<details class="performance-section performance-scenarios">
<summary>
<span>
<strong>What the Performance Project Measures</strong>
<span>The downloaded project runs six benchmark scenarios in a local Spring Boot app.</span>
</span>
<span class="performance-toggle">View scenarios</span>
</summary>
<p class="performance-scenario-intro">Built-in scenarios use repeatable workbooks, and the upload scenario lets you test your own XLSX files.</p>
<ul class="performance-scenario-list">
<li><strong>Generate large workbook</strong><span>Create a new workbook, populate a dense data range, style headers, and save to XLSX.</span></li>
<li><strong>Open generated XLSX</strong><span>Create a workbook fixture, then measure opening it from XLSX.</span></li>
<li><strong>Open and save XLSX</strong><span>Open a generated workbook and measure saving it back to XLSX.</span></li>
<li><strong>Formula calculation</strong><span>Create formula columns and measure workbook calculation.</span></li>
<li><strong>Export PDF</strong><span>Create a report-like workbook and measure PDF export.</span></li>
<li><strong>Uploaded workbook</strong><span>Run open, save, calculate, or PDF export against your own XLSX file.</span></li>
</ul>
</details>
<section class="performance-report-layout">
<div class="performance-results-column">
<section class="performance-section">
<div class="performance-section-heading">
<h2>Benchmark Results</h2>
<p>Reference results measured in the test environment below. Open and save XLSX is represented by the Open XLSX and Save XLSX stages, while Uploaded workbook depends on the selected file and is not shown as a fixed reference result.</p>
</div>
<div class="performance-chart-grid">
<article class="performance-chart-card">
<div class="performance-chart-heading">
<strong>Create workbook</strong>
<span>100,000 rows x 10 columns</span>
</div>
<div class="performance-chart-group">
<div class="performance-chart-group-heading">Time</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Populate cells</span>
<span class="performance-chart-track" aria-label="Time 243 ms"><span class="performance-chart-fill time" style="width: 11.9%;"></span></span>
<strong class="performance-chart-value">243 ms</strong>
</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Save XLSX</span>
<span class="performance-chart-track" aria-label="Time 2,035 ms"><span class="performance-chart-fill time" style="width: 100%;"></span></span>
<strong class="performance-chart-value">2,035 ms</strong>
</div>
</div>
<div class="performance-chart-group">
<div class="performance-chart-group-heading">Memory</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Populate cells</span>
<span class="performance-chart-track" aria-label="Heap memory 122 MB"><span class="performance-chart-fill memory" style="width: 100%;"></span></span>
<strong class="performance-chart-value">122 MB</strong>
</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Save XLSX</span>
<span class="performance-chart-track" aria-label="Heap memory 16 MB"><span class="performance-chart-fill memory" style="width: 13.1%;"></span></span>
<strong class="performance-chart-value">16 MB</strong>
</div>
</div>
</article>
<article class="performance-chart-card">
<div class="performance-chart-heading">
<strong>Open XLSX</strong>
<span>100,000 rows x 10 columns</span>
</div>
<div class="performance-chart-group">
<div class="performance-chart-group-heading">Time</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Prepare fixture</span>
<span class="performance-chart-track" aria-label="Time 2,253 ms"><span class="performance-chart-fill time" style="width: 100%;"></span></span>
<strong class="performance-chart-value">2,253 ms</strong>
</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Open XLSX</span>
<span class="performance-chart-track" aria-label="Time 387 ms"><span class="performance-chart-fill time" style="width: 17.2%;"></span></span>
<strong class="performance-chart-value">387 ms</strong>
</div>
</div>
<div class="performance-chart-group">
<div class="performance-chart-group-heading">Memory</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Prepare fixture</span>
<span class="performance-chart-track" aria-label="Heap memory 94 MB"><span class="performance-chart-fill memory" style="width: 100%;"></span></span>
<strong class="performance-chart-value">94 MB</strong>
</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Open XLSX</span>
<span class="performance-chart-track" aria-label="Heap memory 54 MB"><span class="performance-chart-fill memory" style="width: 57.4%;"></span></span>
<strong class="performance-chart-value">54 MB</strong>
</div>
</div>
</article>
<article class="performance-chart-card">
<div class="performance-chart-heading">
<strong>Calculate formulas</strong>
<span>100,000 rows x 10 columns (1 formula column)</span>
</div>
<div class="performance-chart-group">
<div class="performance-chart-group-heading">Time</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Populate inputs</span>
<span class="performance-chart-track" aria-label="Time 241 ms"><span class="performance-chart-fill time" style="width: 100%;"></span></span>
<strong class="performance-chart-value">241 ms</strong>
</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Calculate formulas</span>
<span class="performance-chart-track" aria-label="Time 33 ms"><span class="performance-chart-fill time" style="width: 13.7%;"></span></span>
<strong class="performance-chart-value">33 ms</strong>
</div>
</div>
<div class="performance-chart-group">
<div class="performance-chart-group-heading">Memory</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Populate inputs</span>
<span class="performance-chart-track" aria-label="Heap memory 69 MB"><span class="performance-chart-fill memory" style="width: 100%;"></span></span>
<strong class="performance-chart-value">69 MB</strong>
</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Calculate formulas</span>
<span class="performance-chart-track" aria-label="Heap memory 4 MB"><span class="performance-chart-fill memory" style="width: 5.8%;"></span></span>
<strong class="performance-chart-value">4 MB</strong>
</div>
</div>
</article>
<article class="performance-chart-card">
<div class="performance-chart-heading">
<strong>Export PDF</strong>
<span>100,000 rows x 10 columns</span>
</div>
<div class="performance-chart-group">
<div class="performance-chart-group-heading">Time</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Populate report</span>
<span class="performance-chart-track" aria-label="Time 229 ms"><span class="performance-chart-fill time" style="width: 1.1%;"></span></span>
<strong class="performance-chart-value">229 ms</strong>
</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Export PDF</span>
<span class="performance-chart-track" aria-label="Time 21,751 ms"><span class="performance-chart-fill time" style="width: 100%;"></span></span>
<strong class="performance-chart-value">21,751 ms</strong>
</div>
</div>
<div class="performance-chart-group">
<div class="performance-chart-group-heading">Memory</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Populate report</span>
<span class="performance-chart-track" aria-label="Heap memory 53 MB"><span class="performance-chart-fill memory" style="width: 15%;"></span></span>
<strong class="performance-chart-value">53 MB</strong>
</div>
<div class="performance-chart-row">
<span class="performance-operation-name">Export PDF</span>
<span class="performance-chart-track" aria-label="Heap memory 354 MB"><span class="performance-chart-fill memory" style="width: 100%;"></span></span>
<strong class="performance-chart-value">354 MB</strong>
</div>
</div>
</article>
</div>
</section>
</div>
<aside class="performance-sidebar">
<div class="performance-panel">
<h2>Test Environment</h2>
<dl>
<dt>Product</dt><dd>Document Solutions for Excel, Java Edition</dd>
<dt>Runtime</dt><dd>Java 17</dd>
<dt>Application</dt><dd>Spring Boot local benchmark app</dd>
<dt>Measurement</dt><dd>Elapsed time, heap memory delta, and output size</dd>
</dl>
</div>
<div class="performance-panel performance-notes">
<h2>Notes</h2>
<ul>
<li>Static results are reference data measured in a controlled environment.</li>
<li>Local results vary by hardware, operating system, runtime version, and workbook content.</li>
</ul>
</div>
</aside>
</section>
</div>