krausest / js-framework-benchmark
A comparison of the performance of a few popular javascript frameworks
- Stars
- 7,504 stars
- Forks
- 953 forks
- Language
- JavaScript
- License
- APACHE-2.0
- Created
- Dec 9, 2015
- Last push
- Nov 2, 2026
- Updated
- Nov 11, 2026
Why these Tags: an agent read the README and quoted it
- Benchmarking from the readme:
The benchmarks creates a large table with randomized entries and measures the time for various operations including rendering duration.
An agent gave these Tags from the fixed Tag list in the AwesomeRepos source code. A code check kept each Tag only when its quote is in the text. A wrong Tag? Report an error with the form at the end of this page.
Admitted to the Repository Index on Nov 10, 2026: 7,502 stars on 2026-11-10.
Star History
188 days recorded, May 8, 2026 – Nov 11, 2026 (UTC). Net change +122 stars.
The star count of each day is the latest count minus the net stars of the later days.
Add this Star History to a README
The images follow the light or dark theme of the page that shows them, and update every hour.
Add ?theme=light or ?theme=dark
to the chart address to keep one theme.
Star History chart
[](https://awesomerepos.com/krausest/js-framework-benchmark) Badge
[](https://awesomerepos.com/krausest/js-framework-benchmark) Timeline
It gained stars on 89 of the 188 days recorded since May 8, 2026.
Its largest 7 days were May 23, 2026 to May 29, 2026: 10 stars.
In the 30 days to Nov 11, 2026 it got 18 stars, 6% more than in the 30 days before.
It had 7,382 stars before May 8, 2026 and has 7,504 stars now: 2,496 fewer than 10,000.
- Created on the Repository Host
- Release chrome148
- Largest star day recorded: +4 stars
- +3 stars in one day
- Release chrome150
- +3 stars in one day
- Release chrome152
- Release chrome154
- Release chrome156
- Latest push
- Entered the Repository Index: 7,502 stars on 2026-11-10
The timeline comes from the creation date and the releases on the Repository Host, the Admission, the Star History, and the Observations. Star milestones show only when the Star History records the day. The list shows up to 5 stable releases from the latest 10 releases recorded. When none of them is stable, one item counts the pre-releases. On the chart of net stars each day, a solid line marks each recorded release.
Forks and pushes
From 2 Observations, Nov 11, 2026 – Nov 12, 2026. Forks -1. AwesomeRepos saw a new push on 0 of 1 days.
- Nov 12, 2026: no new push
A filled day: the last push time changed since the Observation before it.
Health facts
Measured facts in four separate dimensions, each with a date and a source. AwesomeRepos does not add them into one score. AwesomeRepos reads the weekly commits, the changelog, and the community files each week for the 5,000 visible repositories with the most stars and for each rising repository. How AwesomeRepos defines each check
Copies a prompt for a coding agent. It has 1 task for the maintainers of krausest/js-framework-benchmark.
Improve the Health Facts of the GitHub repository krausest/js-framework-benchmark. AwesomeRepos measures facts about how a repository is maintained, released, secured, and documented. Its page for this repository is https://awesomerepos.com/krausest/js-framework-benchmark. A change to the repository can improve each of the item below. Each item gives the measured fact or score, and a task. 1. The newest release tag is a semantic version Fact: The newest release tag is chrome156. Rule: The tag of the newest release has the form 1.2.3 or v1.2.3, with an optional pre-release or build part. There is no data when the repository has no release. Task: Make the next release tag a semantic version (1.2.3 or v1.2.3). Do not change or delete a published tag. If a release tool makes the tags, configure it for semantic versions, and write the version scheme in the contributing guide. Rules for this work: - Each file must be true for this project. Do not copy text that does not apply to it. - Do not choose a licence, a contact, or a release version for me. Ask me. - Do not publish a release, change a repository setting, or push to the default branch. Make the changes on a new branch. - Keep each change small, and run the checks of this repository before you finish. - At the end, list each item as DONE, SKIPPED (with the reason), or NEEDS A DECISION (with the question). AwesomeRepos reads these facts again in its next scan. The definitions of the checks: https://awesomerepos.com/health-facts
Maintenance
2 of 4 checks (2 without data)-
Yes: Not archived
GitHub does not mark the repository as archived. Source
-
Yes: A push in the last 90 days
Last push on 2026-11-02, 9 days ago. Source
-
No data: Commits in the last 13 weeks
No data: AwesomeRepos has not read the weekly commits.
-
No data: Commits in 26 or more of the last 52 weeks
No data: AwesomeRepos has not read the weekly commits.
Releases
1 of 3 checks (1 without data)-
Yes: A release in the last 365 days
Newest release chrome156 on 2026-10-25, 18 days ago. 9 releases in the last 365 days. Source
-
No: The newest release tag is a semantic version
The newest release tag is chrome156. Source
-
No data: A changelog file at the root
No data: AwesomeRepos has not scanned this repository.
Security practice
0 of 1 check (1 without data)-
No data: A security policy
No data: AwesomeRepos has not scanned this repository.
AwesomeRepos has not asked OpenSSF Scorecard about this repository.
Community files
1 of 3 checks (2 without data)-
Yes: A licence
GitHub finds the licence APACHE-2.0. Source
-
No data: A contributing guide
No data: AwesomeRepos has not scanned this repository.
-
No data: A code of conduct
No data: AwesomeRepos has not scanned this repository.
Dependencies in the index
This section shows the packages that connect this repository to other repositories in the index.
The GitHub dependency graph of this repository names 7,900 direct packages (scanned on Nov 12, 2026). Packages from 147 other repositories in the index are among them.
No scanned repository names a package from this repository.
Uses (in the index) · 147
- react/react 253K
npm: react, react-dom
- twbs/bootstrap 175K
npm: bootstrap
- microsoft/TypeScript 112K
npm: @typescript/typescript-aix-ppc64, @typescript/typescript-darwin-arm64, @typescript/typescript-darwin-x64, @typescript/typescript-freebsd-arm64 and 17 more
- angular/angular 101K
npm: @angular/common, @angular/compiler, @angular/compiler-cli, @angular/core and 2 more
- microsoft/playwright 100K
npm: playwright, playwright-firefox, playwright-webkit
-
npm: @tailwindcss/oxide-android-arm64, @tailwindcss/oxide-darwin-arm64, @tailwindcss/oxide-darwin-x64, @tailwindcss/oxide-freebsd-x64 and 8 more
- oven-sh/bun 97K
npm: @oven/bun-darwin-aarch64, @oven/bun-darwin-x64, @oven/bun-darwin-x64-baseline, @oven/bun-freebsd-aarch64 and 13 more
-
npm: puppeteer, puppeteer-core
- sveltejs/svelte 89K
npm: svelte
- vitejs/vite 84K
npm: vite
Show all 147
- chartjs/Chart.js 68K
npm: chart.js
- webpack/webpack 66K
npm: webpack
- withastro/astro 64K
npm: @astrojs/react, astro
- reduxjs/redux 61K
npm: redux
- lodash/lodash 61K
npm: lodash
- pmndrs/zustand 59K
npm: zustand
- vuejs/core 55K
npm: @vue/reactivity, pure-vapor, vue
-
npm: prettier
-
npm: @types/ejs, @types/glob, @types/html-minifier, @types/jsdom and 10 more
- prisma/orm 48K
npm: @prisma/client
- babel/babel 44K
npm: @babel/cli, @babel/core, @babel/eslint-parser, @babel/helper-plugin-utils and 20 more
- evanw/esbuild 40K
npm: @esbuild/aix-ppc64, @esbuild/android-arm, @esbuild/android-arm64, @esbuild/android-x64 and 43 more
-
Cargo: dioxus, dioxus-web
- preactjs/preact 39K
npm: preact
- fastify/fastify 37K
npm: fastify
- typeorm/typeorm 37K
npm: typeorm
-
npm: drizzle-orm
- solidjs/solid 36K
npm: @solidjs/babel-plugin, @solidjs/web, babel-preset-solid, solid-js
-
npm: selenium-webdriver
- tokio-rs/tokio 34K
Cargo: tokio, tokio-macros, tokio-stream
- honojs/hono 33K
npm: hono
- gulpjs/gulp 33K
npm: gulp
- yewstack/yew 33K
Cargo: yew
- lovell/sharp 33K
npm: @img/sharp-darwin-arm64, @img/sharp-darwin-x64, @img/sharp-freebsd-wasm32, @img/sharp-linux-arm and 13 more
- alpinejs/alpine 32K
npm: alpinejs
- ReactiveX/rxjs 32K
npm: rxjs
-
npm: lighthouse
-
npm: sequelize
- postcss/postcss 29K
npm: postcss
- tj/commander.js 28K
npm: commander
- mobxjs/mobx 28K
npm: mobx, mobx-react-lite
-
npm: backbone
- eslint/eslint 28K
npm: @eslint/js, eslint
-
npm: mongoose
-
npm: underscore
-
npm: @angular/build, @angular/cli
- rollup/rollup 26K
npm: @rollup/rollup-android-arm-eabi, @rollup/rollup-android-arm64, @rollup/rollup-darwin-arm64, @rollup/rollup-darwin-x64 and 24 more
-
npm: lucide-react
- ramda/ramda 24K
npm: ramda
- oxc-project/oxc 23K
npm: @oxc-parser/binding-android-arm-eabi, @oxc-parser/binding-android-arm64, @oxc-parser/binding-darwin-arm64, @oxc-parser/binding-darwin-x64 and 55 more
-
npm: react-redux
- chalk/chalk 23K
npm: chalk
- websockets/ws 23K
npm: ws
- emberjs/ember.js 23K
npm: ember-source
- QwikDev/qwik 22K
npm: @builder.io/qwik, @builder.io/qwik-city
-
npm: markdown-it
- lit/lit 22K
npm: lit, lit-html
- jsdom/jsdom 22K
npm: jsdom
- leptos-rs/leptos 22K
Cargo: leptos
- pmndrs/jotai 21K
npm: jotai
-
npm: million
- redis/node-redis 18K
npm: redis
- Effect-TS/effect 18K
npm: @effect/platform-browser, effect
-
npm: @vitest/coverage-v8, vitest
- less/less.js 17K
npm: less
-
npm: @typescript-eslint/eslint-plugin, @typescript-eslint/parser, typescript-eslint
-
npm: inferno
- vuejs/pinia 15K
npm: pinia
- marko-js/marko 14K
npm: marko
-
npm: kysely
-
npm: http-proxy
-
npm: @rolldown/binding-android-arm-eabi, @rolldown/binding-android-arm64, @rolldown/binding-darwin-arm64, @rolldown/binding-darwin-x64 and 14 more
- mishoo/UglifyJS 13K
npm: uglify-js
-
npm: pg-cloudflare
-
npm: ts-node
-
npm: webpack-bundle-analyzer
-
npm: chokidar
- gruntjs/grunt 12K
npm: grunt
-
npm: tsx
-
npm: stylelint
-
npm: patch-package
- serde-rs/serde 11K
Cargo: serde, serde_derive
-
npm: html-webpack-plugin
-
npm: knockout
-
npm: npm-check-updates
- pmndrs/valtio 10K
npm: valtio
- cyclejs/cyclejs 10K
npm: @cycle/dom
-
npm: mongodb
- microsoft/fast 9.7K
npm: @microsoft/fast-element
-
npm: fs-extra
- terser/terser 9.4K
npm: terser
-
npm: eslint-plugin-react
- mikro-orm/mikro-orm 9.3K
npm: @mikro-orm/core
-
Cargo: js-sys, wasm-bindgen, wasm-bindgen-backend, wasm-bindgen-futures and 4 more
- isaacs/node-glob 8.7K
npm: glob
-
Cargo: crossbeam, crossbeam-channel, crossbeam-deque, crossbeam-epoch and 2 more
- mde/ejs 8.1K
npm: ejs
- elm/compiler 7.9K
npm: @elm_binaries/darwin_arm64, @elm_binaries/darwin_x64, @elm_binaries/linux_x64, @elm_binaries/win32_x64 and 1 more
-
npm: webpack-dev-server
-
Cargo: parcel_selectors
npm: lightningcss-android-arm64, lightningcss-darwin-arm64, lightningcss-darwin-x64, lightningcss-freebsd-x64 and 7 more
- Ripple-TS/ripple 7.4K
npm: @ripple-ts/vite-plugin, ripple
- json5/json5 7.2K
npm: json5
-
npm: @mnjs/adapters, @mnjs/data, marionette
- dtolnay/anyhow 6.7K
Cargo: anyhow
- kentcdodds/cross-env 6.5K
npm: cross-env
- imba/imba 6.5K
npm: imba
- isaacs/rimraf 5.9K
npm: rimraf
-
npm: npm-run-all
- npm/node-semver 5.5K
npm: semver
- babel/babel-loader 4.8K
npm: babel-loader
- preactjs/signals 4.5K
npm: @preact/signals, @preact/signals-core
- vanjs-org/van 4.5K
npm: vanjs-core
- sass/dart-sass 4.2K
npm: sass
-
npm: qunitjs
- seed-rs/seed 3.8K
Cargo: seed
-
npm: @arrow-js/core
- koute/stdweb 3.5K
Cargo: stdweb
- redom/redom 3.4K
npm: redom
- sycamore-rs/sycamore 3.4K
Cargo: sycamore
- fable-compiler/Fable 3.2K
NuGet: Fable.Core
- dmjio/miso 2.5K
npm: haskell-miso
-
npm: rollup-plugin-visualizer
- thheller/shadow-cljs 2.4K
npm: shadow-cljs
- broofa/mime 2.4K
npm: mime
- ivanceras/sauron 2.1K
Cargo: sauron
- shelljs/shx 1.9K
npm: shx
- salesforce/lwc 1.8K
npm: @lwc/rollup-plugin, lwc
- UI5/webcomponents 1.8K
npm: @ui5/webcomponents-base, @ui5/webcomponents-theming, @ui5/webcomponents-tools
-
npm: grunt-contrib-uglify
- reatom/reatom 1.4K
npm: @reatom/core, @reatom/jsx
- sindresorhus/del 1.3K
npm: del
-
npm: graceful-fs
- foldkit/foldkit 1.2K
npm: @foldkit/vite-plugin, foldkit
-
npm: slim-js
- purescript/spago 830
npm: spago
-
npm: grunt-contrib-concat
-
npm: grunt-contrib-cssmin
-
npm: grunt-contrib-less
-
npm: make-dir
-
npm: qingkuai
-
npm: global-agent
-
npm: grunt-contrib-htmlmin
-
npm: del-cli
-
npm: ember-cli-update
-
npm: aurelia-webpack-plugin
- davglass/cpr 82
npm: cpr
- dojo/cli 27
npm: @dojo/cli
Used by (in the index) · 0
None.
Sources: the GitHub dependency graph of each repository, and deps.dev for the source repository of each package (checked on Nov 12, 2026). A dependency graph also names development packages. deps.dev takes most source repositories from package metadata. How the dependency graph is made
Observations
Latest Observation, Nov 12, 2026: 7,504 stars, 953 forks, last push Nov 2, 2026, not archived. One of 2 Observations since Nov 11, 2026.