Rigorous, data-driven performance research by Code Evolution Lab.
Each study is self-contained under studies/ with its own dependencies, benchmarks, results, and articles.
| # | Topic | Status | Article |
|---|---|---|---|
| 01 | N+1 Query Problem | ✅ Complete (100 & 1,000 users) | stackinsight.dev |
| 02 | Blocking I/O | 🚧 In Progress | — |
| 03 | Missing Index | 📋 Planned | — |
| 04 | Resource Leaks | 📋 Planned | — |
| 05 | Bundle Bloat | 📋 Planned | — |
| 06 | DOM Manipulation | 📋 Planned | — |
| 07 | Inefficient Loops | 📋 Planned | — |
| 08 | Large Payloads | 📋 Planned | — |
| 09 | ReDoS Vulnerabilities | 📋 Planned | — |
| 10 | Missing Caching | 📋 Planned | — |
| 11 | Memory Leaks | 📋 Planned | — |
empirical-study/
studies/
01-n-plus-1-query/ # Prisma N+1 query benchmarks
02-blocking-io/ # Blocking I/O prevalence + benchmarks
03-missing-index/ # (future)
...
docs/ # Shared writing guides, research plan
tsconfig.base.json # Shared TypeScript config
package.json # npm workspaces root
Each study folder contains:
README.md— Study overview, methodology, quick startpackage.json— Study-specific dependenciessrc/— Benchmark and analysis coderesults/— Raw benchmark output (gitignored)content/— Article drafts (gitignored)
# Install all workspaces
npm install
# Run a specific study
cd studies/01-n-plus-1-query && npm run bench:all
cd studies/02-blocking-io && npm run bench:all- Runtime: Node.js 18+
- Language: TypeScript 5+
- Study 01: Prisma, PostgreSQL, performance.now()
- Study 02: Express, autocannon, Babel AST analysis, perf_hooks
- Publication: stackinsight.dev
- Tool: codeevolutionlab.com
- GitHub: github.com/liangk/empirical-study
MIT