Local benchmark snapshot

These results compare table operations, including 1,000-row and 10,000-row creation, across six implementations. Lower time and lower heap use are better. Treat this page as a reproducible local signal, not a universal framework ranking.

CPU rows show the mean and Student-t 95% confidence interval from ten samples after five warmups. Heap rows are single validated readings, each collected in an isolated fresh page. Use them to investigate a regression or compare a change on the same machine and Chromium version, not to choose a framework from one local snapshot.

Each adapter retains its existing row-identity strategy, ranging from full replacement to positional or keyed reuse. The per-operation charts compare those complete behaviors and are not combined into an overall framework score.

The current snapshot ran on an Apple M4 Pro with 12 logical cores, 24 GiB of host memory, and an arm64 runtime. The generated report records this host data alongside the Chromium, Node, commit, and timestamp for every future run.

create rows

Lower time is better.

FrameworkTimeCompared with reference
taipa46.0 ms (43.9-48.0 95% CI)Reference
vanillajs46.2 ms (43.9-48.5 95% CI)+0.4% slower
lit-html51.4 ms (49.9-52.9 95% CI)+11.8% slower
ilha52.0 ms (50.6-53.4 95% CI)+13.1% slower
vue52.5 ms (48.4-56.6 95% CI)+14.2% slower
react121.3 ms (118.7-123.9 95% CI)+163.9% slower

create 10,000 rows

Lower time is better.

FrameworkTimeCompared with reference
vanillajs210.0 ms (205.5-214.5 95% CI)Reference
taipa212.2 ms (208.7-215.6 95% CI)+1.0% slower
vue254.2 ms (249.5-259.0 95% CI)+21.0% slower
lit-html260.9 ms (255.0-266.9 95% CI)+24.2% slower
ilha274.8 ms (253.4-296.3 95% CI)+30.8% slower
react548.6 ms (543.9-553.4 95% CI)+161.2% slower

replace all rows

Lower time is better.

FrameworkTimeCompared with reference
taipa20.6 ms (19.3-21.9 95% CI)Reference
vanillajs21.2 ms (19.7-22.7 95% CI)+2.8% slower
vue24.4 ms (23.9-24.9 95% CI)+18.6% slower
ilha33.6 ms (32.9-34.4 95% CI)+63.3% slower
lit-html37.0 ms (36.7-37.4 95% CI)+79.8% slower
react45.1 ms (44.1-46.0 95% CI)+118.8% slower

append 1,000 rows

Lower time is better.

FrameworkTimeCompared with reference
lit-html27.2 ms (26.1-28.2 95% CI)Reference
vue27.6 ms (26.9-28.3 95% CI)+1.7% slower
vanillajs37.3 ms (35.7-38.9 95% CI)+37.3% slower
taipa37.8 ms (36.5-39.1 95% CI)+39.0% slower
react43.5 ms (42.7-44.2 95% CI)+60.0% slower
ilha50.2 ms (47.7-52.8 95% CI)+84.8% slower

partial update

Lower time is better.

FrameworkTimeCompared with reference
lit-html10.5 ms (6.6-14.3 95% CI)Reference
vue10.8 ms (7.4-14.3 95% CI)+3.7% slower
react12.9 ms (11.6-14.2 95% CI)+23.3% slower
vanillajs20.1 ms (18.5-21.7 95% CI)+92.0% slower
taipa20.7 ms (18.9-22.5 95% CI)+97.8% slower
ilha26.4 ms (25.9-26.9 95% CI)+152.6% slower

swap rows

Lower time is better.

FrameworkTimeCompared with reference
vue12.3 ms (9.1-15.4 95% CI)Reference
lit-html13.0 ms (9.9-16.2 95% CI)+6.1% slower
vanillajs19.1 ms (17.7-20.5 95% CI)+55.8% slower
taipa19.6 ms (18.8-20.4 95% CI)+60.0% slower
react25.4 ms (24.7-26.1 95% CI)+106.9% slower
ilha25.7 ms (25.4-26.0 95% CI)+109.7% slower

run memory

Lower heap use is better.

FrameworkHeap usedCompared with reference
vanillajs2.31 MBReference
taipa2.68 MB+16.0% more heap
ilha2.93 MB+26.8% more heap
lit-html3.23 MB+40.1% more heap
vue5.42 MB+134.9% more heap
react15.06 MB+552.6% more heap

update memory

Lower heap use is better.

FrameworkHeap usedCompared with reference
vanillajs2.57 MBReference
taipa2.99 MB+16.4% more heap
ilha3.33 MB+29.4% more heap
lit-html3.53 MB+37.4% more heap
vue5.73 MB+122.8% more heap
react16.75 MB+551.4% more heap

Reproduce locally

pnpm --filter @taipa/benchmarks bench

The harness creates 1,000 and 10,000 rows, replaces all rows, appends 1,000 rows, updates every tenth row, swaps two rows, and records Chromium JavaScript heap after creation and update. Each table names whether it measures time or heap. Compare runs only on the same machine and browser build.