p.enthalabs

React Data Grid Benchmark: Reproducible Comparison

Open benchmark · June 2026 Compatible React data grids ranked with one deterministic 50,000-row continuous-scroll fixture. Published packages, raw samples, exclusions, and limitations are included.

**50,000**rows

**20**columns

**1,200 × 600**viewport

**10**measured runs

Measured output

Compatible continuous-scroll results

Gold, silver, and bronze mark the three best values in each compatible metric. Lower is better except estimated FPS.

Production-build measurements on this machine | Library | Version | JS gzip | Ready median | Scroll settle | Mounted cells | | --- | --- | --- | --- | --- | --- | | Ace Grid Core | 1.0.15 | Bronze 224.5 KB | Bronze 387.4 ms | Bronze 28.1 ms | Silver 220 | | AG Grid Community | 35.3.1 | 358.7 KB | 443.2 ms | 29.8 ms | 360 | | TanStack Table + Virtual | 8.21.3 | Silver 78.7 KB | Silver 369.3 ms | Silver 21.7 ms | 444 | | Handsontable | 17.1.0 | 380.9 KB | 872.8 ms | 49.8 ms | Gold 198 | | React Data Grid | 7.0.0-beta.57 | Gold 72.3 KB | Gold 367.6 ms | Gold 21.2 ms | Bronze 264 |

**Excluded from ranked tables:** MUI X Data Grid Community (MUI X Community forces pagination and limits pages to 100 rows.). Excluded adapters remain available in the live fixtures and raw JSON.

Apple M1 Pro · Chrome 149.0.7827.116 · generated June 22, 2026

Scorecard

Gold, silver, bronze

Rank points across 10 compatible metrics. Lower score wins. Incompatible adapters are excluded from scoring instead of being mixed into the ranking.

Overall medal ranking across compatible metrics | Library | Rank | Score | Category wins or best rank | Analysis | | --- | --- | --- | --- | --- | | Gold React Data Grid | 1 | 12 | JS gzip, Ready, Jump scroll | Best overall in this fixture: smallest bundle, lowest heap, lowest long-task time, and top smoothness. | | Silver Ace Grid Core | 2 | 27 | Dropped frames | Strong on ready time, scroll settle, low DOM count, and smooth continuous scroll; memory is the main gap. | | Bronze TanStack Table + Virtual | 3 | 32 | Best rank #2: JS gzip, Ready, Jump scroll | Smooth continuous scrolling, but heap growth is high for this fixture. | | AG Grid Community | 4 | 37 | Best rank #2: Heap ready, Heap after scroll, Long tasks | Balanced memory profile and low long-task cost, but continuous-scroll FPS trails the leaders. | | Handsontable | 5 | 40 | Mounted cells | Lowest mounted-cell count, but startup and long tasks are expensive here. |

Metric guide

What the numbers mean

JS gzip Reachable JavaScript after gzip. Lower means less code to download and parse. CSS is excluded.

Ready median The middle of 10 runs from navigation until the adapter mounts and two animation frames pass. Lower is better.

Scroll settle Time for one large vertical and horizontal scroll jump plus three animation frames. It is not an FPS score.

Mounted cells Body cells in the DOM after the scroll. Fewer cells reduce DOM work, but very low overscan can expose blank edges.

Methodology

Same fixture, repeatable protocol

Shared fixture

- 50,000 deterministic rows and 20 fixed-width columns

- 36 px rows in a 1,200 × 600 px viewport

- Two editable columns, sorting, filtering, and virtual scrolling

- No network requests, grouping, images, or paid-only features

Measurement protocol

- Production bundles in headless Chrome

- Three warmups discarded, then 10 fresh browser contexts

- The same vertical and horizontal scroll jump for compatible grids

- Every raw sample committed with exact package versions

**Excluded from ranked tables:** MUI X Data Grid Community (MUI X Community forces pagination and limits pages to 100 rows.). Excluded adapters remain available in the live fixtures and raw JSON.

Published-package verification

Ace Grid 1.0.15 vs AG Grid

Thirty alternating-order runs, five discarded warmups, and a fresh browser context for every sample.

Focused 30-run comparison | Library | Ready median | Ready p95 | Scroll median | Scroll p95 | Mounted cells | | --- | --- | --- | --- | --- | --- | | Ace Grid Core | Gold 390 ms | Gold 398.3 ms | Gold 23.9 ms | Gold 31.6 ms | Gold 220 | | AG Grid Community | Silver 444.2 ms | Silver 454 ms | Silver 29.7 ms | Silver 34 ms | Silver 360 |

**On this machine:** Ace Grid reached ready 12.2% sooner, settled the scripted scroll 19.5% sooner, and mounted 140 fewer cells. View all raw samples.

Interaction health

Memory, long tasks, and smoothness

Five measured runs after one warmup. Each run performs a two-second continuous scroll in a fresh Chrome context.

Continuous scroll interaction measurements | Library | Heap ready | Heap after scroll | Long-task total | Estimated FPS | Dropped frames >20ms | | --- | --- | --- | --- | --- | --- | | Ace Grid Core | Bronze 56.1 MB | Bronze 59 MB | Bronze 133 ms | Bronze 85 FPS | Gold 1 | | AG Grid Community | Silver 33.9 MB | Silver 36.7 MB | Silver 106 ms | 57.8 FPS | 21 | | TanStack Table + Virtual | 148.7 MB | 241.6 MB | 181 ms | Silver 108.1 FPS | Bronze 2 | | Handsontable | 93.4 MB | 102.1 MB | 967 ms | 75.4 FPS | Bronze 2 | | React Data Grid | Gold 17.3 MB | Gold 18 MB | Gold 0 ms | Gold 119 FPS | Gold 1 |

Additional interaction measurements | Library | Heap delta | Worst long task | p95 frame | Worst frame | | --- | --- | --- | --- | --- | | Ace Grid Core | Bronze 2.8 MB | Bronze 86 ms | Bronze 16.8 ms | Silver 24.5 ms | | AG Grid Community | Silver 2.8 MB | Silver 56 ms | 25 ms | Bronze 33.3 ms | | TanStack Table + Virtual | 92.9 MB | 123 ms | Silver 16.6 ms | 42.3 ms | | Handsontable | 8.6 MB | 516 ms | 16.9 ms | 41.6 ms | | React Data Grid | Gold 0.7 MB | Gold 0 ms | Gold 8.9 ms | Gold 24.2 ms |

Apple M1 Pro · Chrome 149.0.7827.116 · generated June 25, 2026 · View raw samples

Analysis

What the results show

Fastest interactive path

React Data Grid leads the overall scorecard because it combines the smallest runtime heap, no median long-task time, and near-120 FPS continuous scrolling.

Ace Grid vs AG Grid

Ace Grid remains ahead of AG Grid on ready median, jump-scroll settle, mounted cells, continuous-scroll FPS, and dropped frames. AG Grid currently uses less heap and posts lower long-task totals.

Memory-sensitive apps

Heap-ready and heap-after-scroll numbers favor React Data Grid, followed by AG Grid. Ace Grid's current row-adapter path trades more heap for fewer mounted cells and smoother continuous scrolling.

Compatibility rule

Libraries are ranked only when they expose the same continuous 50,000-row virtualized surface. Pagination-limited adapters stay in raw data, not the leaderboard.