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 | stackinsight.dev/blog/n-plus-1-query-empirical-study |
| 02 | Blocking I/O | Complete | stackinsight.dev/blog/blocking-io-empirical-study |
| 03 | Memory Leaks | Complete | stackinsight.dev/blog/memory-leak-empirical-study |
| 04 | Loop Performance | Complete | stackinsight.dev/blog/loop-performance-empirical-study |
| 05 | Missing Index Crisis | Complete | stackinsight.dev/blog/missing-index-empirical-study |
| 06 | Resource Leaks | Complete | Part 1: Scaling · Part 2: Corpus |
| 07 | Bundle Bloat | 📋 Planned | — |
| 08 | DOM Manipulation | 📋 Planned | — |
| 09 | Large Payloads | 📋 Planned | — |
| 10 | ReDoS Vulnerabilities | 📋 Planned | — |
| 11 | Missing Caching | 📋 Planned | — |
| 12 | Inefficient Loops | 📋 Planned | — |
empirical-study/
studies/
01-n-plus-1-query/ # Prisma N+1 query benchmarks
02-blocking-io/ # Blocking I/O prevalence + benchmarks
03-memory-leaks/ # Memory leak detection in React/Vue/Angular
04-loop-performance/ # Loop anti-pattern benchmarks + corpus study
05-missing-index/ # Missing index benchmarks (PostgreSQL + Prisma)
06-resource-leaks/ # Resource leak benchmarks + real-world corpus scan
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
- Study 03: Babel AST analysis, simple-git, React/Vue/Angular detectors
- Study 04: Prisma-free, pure Node.js + Python, hrtime, Babel AST
- Study 05: Prisma, PostgreSQL, EXPLAIN ANALYZE, performance.now()
- Study 06: Babel AST analysis, simple-git, discrete-event simulation, perf_hooks
- Publication: stackinsight.dev
- Tool: codeevolutionlab.com
- GitHub: github.com/liangk/empirical-study
MIT