gitmyhub

js-framework-benchmark

JavaScript ★ 7.4k updated 4d ago

A comparison of the performance of a few popular javascript frameworks

A benchmark suite that measures and compares how fast 186+ JavaScript UI frameworks perform common table operations like creating, updating, and deleting rows, with memory usage included.

JavaScriptNode.jssetup: hardcomplexity 3/5

This repository is a performance benchmark that measures and compares how fast a large number of JavaScript UI frameworks are at common tasks. The benchmark works by having each framework render a large table of randomized data, then timing how long it takes to perform operations like creating rows, updating rows, deleting rows, swapping rows, and clearing the entire table. Memory usage is also measured at several points. The results give developers a data-driven way to compare frameworks by performance rather than by reputation.

As of the README, the repository contains 186 separate implementations, one for each framework or framework variant being tested. That list includes well-known frameworks such as React, Vue.js, Angular, Svelte, and many others including less common or experimental ones. The benchmark distinguishes between "keyed" and "non-keyed" modes, which refers to a technical difference in how frameworks track which piece of data corresponds to which element on the page. This distinction matters because non-keyed mode can be faster for some operations but may cause unexpected behavior in certain situations.

Running the full benchmark takes around 12 hours. Pre-built binary packages are available for download so that users can skip compiling all 186 implementations themselves. The README walks through installation, starting a local server, running the benchmark, and viewing the results in a browser table.

The README includes a security note: because the repository contains over 180 third-party npm packages, installing all of them on a personal machine carries risk. The author recommends using the pre-built binaries and running the benchmark on a dedicated machine.

Official results are published on a companion website linked in the README. The full README is longer than what was shown.

Where it fits