On Dify web/ (5860 .ts / .tsx files), running one type-aware rule:
| Wall (min of 3) | Peak RSS | |
|---|---|---|
| ESLint Linter | 25 s | 7.0 GB |
| TSSLint 3.1 | 1.5 s | 3.75 GB |
Native linters (Rust's Oxlint and the like) hitting 10× is normal — that's the cross-runtime gap. JS-vs-JS usually lands at 1.5-3×. This 16× is the same V8, the same ESLint rule source, the same ESTree shape — the gap is all architecture. 3.1 is a full rewrite of @tsslint/compat-eslint (the compatibility layer that lets stock ESLint rules run inside TSSLint). Bench: tsslint-dify-bench.