This repository contains four implementations of the same to-do list application to benchmark DOM manipulation performance across front-end frameworks.
The project satisfies the assignment goals:
name, priority)100, 500, and 1000 tasks50 tasks50 tasksperformance.now())performance.memory is availableapps/react-app React implementation (state + components)apps/angular-app Angular implementation (*ngFor, *ngIf, [(ngModel)])apps/vue-app Vue implementation (reactivity + directives)apps/svelte-app Svelte implementation (compile-time reactive updates)scripts/benchmark-runner.mjs Automated benchmark collector with Playwrightscripts/build-results-table.mjs Converts benchmark JSON to Markdown comparison tablesresults/benchmark-results.json Raw benchmark outputresults/benchmark-results.md Benchmark comparison tabledocs/reflection-report.md Reflection report (200–300 words)Network access is required to install dependencies.
npm install
npm install --prefix apps/react-app
npm install --prefix apps/angular-app
npm install --prefix apps/vue-app
npm install --prefix apps/svelte-app
npm run dev:react
npm run dev:angular
npm run dev:vue
npm run dev:svelte
benchmark-runner starts each app one at a time, invokes window.runFrameworkBenchmark(), stores JSON, then you generate Markdown table output.
npm run benchmark
Artifacts created/updated:
results/benchmark-results.jsonresults/benchmark-results.mdnpm run benchmark on your machine.results/benchmark-results.md.docs/reflection-report.md.