#performance

Die neuesten performance-News, Releases und Analysen für TypeScript- und Webentwickler.
23 articles tagged with performance
Oxlint v1.72 und Oxfmt v0.57 liefern den crates-v0.138-Zyklus aus, vereinheitlichen den AstBuilder und entfernen den Prettier-Fallback für CSS/GraphQL

Oxlint v1.72 und Oxfmt v0.57 liefern den crates-v0.138-Zyklus aus, vereinheitlichen den AstBuilder und entfernen den Prettier-Fallback für CSS/GraphQL

Oxlint apps_v1.72.0 und oxfmt apps_v0.57.0, beide am 2026-06-29 veröffentlicht, schließen den v0.138-Zyklus ab, der in den [v1.71-Versionsnotizen](/articles/2026-06-23--oxlint-v1-71-oxfmt-v0-56) vorausgesagt wurde. Das crates-Release (crates_v0.138.0, ebenfalls 2026-06-29) vereinheitlicht die alten und neuen AstBuilder-APIs (#23876, #23834, #23831, mit den Legacy-Methoden als `#[deprecated]` markiert), benennt `AllocatorAccessor` in `GetAllocator` um und lässt dessen `allocator`-Methode `&self` annehmen (#23675, #23676), lässt `Str`- und `Ident`-Methoden `&GetAllocator` annehmen (#23781), fügt `transformer_plugins: Support typeof define keys` für vue-i18n und ähnliche Makros hinzu (#23605, Alexander Lichter) und liefert die herausragende Performance-Eintragung des Zyklus: `minifier: memoize value_type to remove its O(n^2) re-walk on long binary chains` (#23929, Dunqing), die eine arithmetische Additionskette mit 20 000 Gliedern von 6 118 ms auf 4,7 ms (≈1300x) bringt und das reale antd.js-Bundle von 78,1 ms auf 65,4 ms. Oxlint v1.72.0 liefert 3 Features (React-`no-unknown-property`-Vorschlag #23936, AstBuilder-Vereinheitlichung #23875, Schema für `eslint/no-restricted-import` #23642), 18 Fehlerbehebungen und 23 Performance-Eintragungen. Oxfmt v0.57.0 enthält zwei BREAKING-Änderungen, die den Prettier-Fallback für CSS/LESS/SCSS- und GraphQL-Dateien entfernen: `Format parser:css,less,scss files + css-in-js by oxc_formatter_css` (#23321, leaysgur) und `Support draft syntax with removing prettier fallback` (#23326, leaysgur), beide aufbauend auf den neuen Crates `oxc_formatter_css` (#23320) und `oxc_formatter_graphql` (#23317).
Deno 2.9 bringt 1,98x schnelleren Cold Start, 2,2–3,1x weniger RSS unter Last, npm Minimum Release Age als Default, No-Downgrade Trust Policy und eingebaute Snapshot-Tests

Deno 2.9 bringt 1,98x schnelleren Cold Start, 2,2–3,1x weniger RSS unter Last, npm Minimum Release Age als Default, No-Downgrade Trust Policy und eingebaute Snapshot-Tests

Deno 2.9 (Bartek Iwańczuk, veröffentlicht am 2026-06-25 auf deno.com/blog/v2.9) ist das größte Deno-Release des Zyklus. Der Cold Start sinkt von 34,2 ms auf 17,3 ms (1,98x), der Spitzen-RSS auf der Deno.serve-Realworld-Last fällt um den Faktor 2,2 (142 MB → 64 MB) und um 3,1x bei 1-MiB-Bodies (197 MB → 63 MB), und der Deno.serve-Durchsatz steigt um 1,27x in Realworld (56,8k → 72,4k req/s), 1,11x in Plaintext und 1,18x bei 1-MiB-Bodies. Supply-Chain-Härtung: Das npm Minimum Release Age wird standardmäßig mit einem 24-Stunden-Fenster aktiviert (PR #35458), und eine neue opt-in No-Downgrade Trust Policy (PR #34927) weigert sich, jede Version aufzulösen, deren Vertrauensbeweis (Staged Publishing, Trusted Publishing, Provenance-Attestation) schwächer ist als der stärkste Beweis einer zuvor veröffentlichten Version desselben Pakets. Test-Runner-Parität: eingebautes t.assertSnapshot() (#35139), Deno.test.each (#34938), --shard für CI-Fan-out (#35057), Retry und Repeats (#35053), Change-Aware --changed und --related (#35199) und Coverage-Thresholds (#35056). Lockfile-Interop: deno install seedet deno.lock aus package-lock.json, pnpm-lock.yaml, yarn.lock oder bun.lock (#34296, #35330, #35346, #35350, #35394), pnpm-workspace.yaml migriert automatisch in deno.json / package.json (#34993), und Git-Merge-Konflikt-Marker in deno.lock lösen sich automatisch auf (#34726). Dazu: deno desktop verlässt den experimentellen Status (PR #33441 vom 16. Juni), Subcommands deno link / deno unlink / deno list / deno watch, stabiles --unsafe-proto (#34738), Web Locks API (#31166), Happy Eyeballs v2 (RFC 8305) (#31726), navigator.userAgentData (#34743), der WebCrypto Modern Algorithms-Vorschlag (ML-KEM, ML-DSA, SLH-DSA, ChaCha20-Poly1305, SHA-3-Familie, KMAC, Argon2) (#34447, #34448, #34914, #35223), Node-26.3.0-Kompatibilität (#34746, #34747), Node-API v10 (#35270) und CSS-Modul-Importe unter --unstable-raw-imports (#35093). Über 165 PRs landen in diesem Zyklus.
Node.js 24.18.0 'Krypton' LTS bringt Buffer.poolSize auf 64 KiB, TurboSHAKE und KangarooTwelve in Web Crypto sowie http.writeInformation für beliebige 1xx-Codes

Node.js 24.18.0 'Krypton' LTS bringt Buffer.poolSize auf 64 KiB, TurboSHAKE und KangarooTwelve in Web Crypto sowie http.writeInformation für beliebige 1xx-Codes

Node.js 24.18.0 'Krypton' (LTS), veröffentlicht am 2026-06-23, liefert den aus Node.js 26.3.0 bekannten Buffer.poolSize-Default von 64 KiB auf der LTS-Linie, ergänzt Web Cryptography um die RFC-9861-Algorithmen TurboSHAKE und KangarooTwelve (PR #62183, 1.521 Ergänzungen, 13 Dateien), führt http.writeInformation für beliebige 1xx-Statuscodes ein (PR #63155, 306 Ergänzungen, 7 Dateien), legt den Start der V8-Precise-Coverage in das JS-Laufzeitsystem (Commit 8c989ec4a3), ergänzt JWK-Import/Export für die Post-Quanten-Schlüsseltypen ML-KEM und SLH-DSA (PR #62706, 842 Ergänzungen, 39 Dateien), bindet im BoringSSL-Pfad ML-DSA, ML-KEM, ChaCha20-Poly1305 und AES-KW in Web Crypto ein (PR #63255), härtet WebCrypto gegen Prototype-Pollution (PR #63363), vereinheitlicht die Schlüsselargumentnamen von crypto.diffieHellman und akzeptiert Schlüsseldaten als Eingabe (PR #62527), nimmt das in 24.16.0 eingeführte Verhalten 'stream: noop pause/resume on destroyed streams' zurück (PR #63834) und veröffentlicht am selben Tag den Minimal-Hotfix 22.23.1, der eine in der Sicherheitsrelease v22.23.0 vom 18.06. eingeführte Änderung am HTTP-Agent zurücknimmt, die an inaktiven Agent-Sockets Stream-Listener angehängt hatte.
Vite 8.1.0 stable bringt Bundled Dev Mode (15x schnellerer Start bei 10k-React-Komponenten), WASM-ESM-Importe und Chunk Import Map, erweitert server.fs.deny um .npmrc und private Schlüssel

Vite 8.1.0 stable bringt Bundled Dev Mode (15x schnellerer Start bei 10k-React-Komponenten), WASM-ESM-Importe und Chunk Import Map, erweitert server.fs.deny um .npmrc und private Schlüssel

Vite 8.1.0 stable, veröffentlicht am 2026-06-23 vom Vite-Team (announcing-vite8-1), hebt Bundled Dev Mode von einem experimentellen Flag auf einen dokumentierten --experimental-bundle-Einstiegspunkt (15x schnellerer Cold Start bei einer React-App mit 10 000 Komponenten, 10x schnellere Full Reloads; Linear meldet 3x schnelleres Cold-Start-Rendering, ~40% schnellere Full Reloads), stabilisiert die WASM-ESM-Integration mit direkten .wasm-Importen und build.chunkImportMap aus der 8.1-Beta vom 2026-06-15, bringt Lightning CSS mit External-CSS-in-CSS und Plugin-Dateiabhängigkeiten einen Schritt näher an den Default-Status, aktualisiert Rolldown auf 1.1.2 (1.1.3 folgt am selben Tag), pinnt rolldown mit einem Tilde-Range, sodass Patch-Releases ohne Vite-PR durchfließen, erweitert server.fs.deny um .npmrc, .yarnrc.yml und *.{key,p12,pfx,cer,der} und gibt eine Runtime-Deprecation-Warnung für envFile: false aus.
Oxlint v1.71 und Oxfmt v0.56 liefern die v0.137-Crates-Gewinne aus, bringen 18 neue Linter-Regeln und zähmen die React-Lifecycle-Traversierung mit einem Streamed-Iterator-Refactor

Oxlint v1.71 und Oxfmt v0.56 liefern die v0.137-Crates-Gewinne aus, bringen 18 neue Linter-Regeln und zähmen die React-Lifecycle-Traversierung mit einem Streamed-Iterator-Refactor

Oxlint apps_v1.71.0 und oxfmt apps_v0.56.0, beide am 2026-06-22 veröffentlicht, schließen den v0.137-Crates-Zyklus auf der Apps-Seite ab. Oxlint v1.71 übernimmt die neue `treeshake pure typed arrays`-Minifier-Passe (#23469), den `prefer-query-selector`-Compound-Selector-Fix, 28 Lint-Bugfixes (größtenteils Yunfei He Fixer-Rewrite-Arbeit), 13 Performance-Einträge, die auf einem Bucketed-Rule-Dispatch-Refactor aufsetzen (#23450, #23452, #23482-#23486, #23489, #23492), sowie den Tokio-nur-für-LSP-Start in oxlint (#23447). Oxfmt v0.56.0 liefert 9 Bugfixes (CRLF-Normalisierung für per `// @ts-ignore` unterdrückten Text in #23701 und #23702, den Member-Chain-Panic-Fix #23698, die Erhaltung von `export default` mit Type-Cast #23697) und 3 Formatter-Performance-Einträge, die Arena-Kopien auf BigInt-, Numeric-Literal- und String-Literal-Text vermeiden. v1.71 ist die erste Apps-Release seit v1.70.0 am 2026-06-15 und die letzte vor der v0.138-Crates-Release, die am Montag 2026-06-29 erscheinen wird.
SWC v1.15.43 bringt den React Compiler als erstklassige Transformation, behebt einen stillen Template-Literal-Minifier-Bug und richtet `unsafe_math` an Terser aus

SWC v1.15.43 bringt den React Compiler als erstklassige Transformation, behebt einen stillen Template-Literal-Minifier-Bug und richtet `unsafe_math` an Terser aus

SWC v1.15.43, veröffentlicht am 2026-06-22 mit swc_core v71.0.3, liefert den experimentellen Rust-React-Compiler als konfigurierbare SWC-Transformation über .swcrc jsc.transform.reactCompiler (PR #11917, 54 Dateien, 12.986 Hinzufügungen); behebt einen stillen Template-Literal-Minifier-Bug, bei dem `compress` den Text nach der letzten Interpolation des linken Template-Literals beim Verketten zweier Template-Literale abschnitt (#11939); koppelt Number(x) -> +x an SOWOHL `unsafe: true` ALS AUCH `unsafe_math: true`, um mit terser v4.3.11+ übereinzustimmen (#11944, #11949); korrigiert den Geltungsbereich von ES2022-Privatfeld-Brand-Checks (#11953); und bringt sieben interne React-Compiler-Korrekturen (#11940, #11943, #11946, #11950, #11951, #11952, #11957) sowie eine Parser-Korrektur für No-Default-Builds (#11956) und einen Dok-Eintrag zum Sicherheitsumfang nicht vertrauenswürdiger Eingaben (#11937).
Oxc v0.137 bringt dem Minifier das Treeshaken reiner Typed Arrays und Set/Map-Literale bei, liefert ein inkrementelles Scoping-Refresh und behebt einen React-Compiler-Randfall

Oxc v0.137 bringt dem Minifier das Treeshaken reiner Typed Arrays und Set/Map-Literale bei, liefert ein inkrementelles Scoping-Refresh und behebt einen React-Compiler-Randfall

Der Oxc-Release crates_v0.137.0, veröffentlicht am 2026-06-18, liefert zwei neue Minifier-Treeshaking-Pässe (Treeshake reiner Typed Arrays und Set/Map-Array-Literale über #23469, sowie Inlining von Const-Werten für Read-Only-Variablen über #22593), ein lang angelegtes inkrementelles Scoping-Refresh, das den LiveUsageCollector-Kollektor vollständig entfernt (#23197), einen freundlichen Parser-Fehler für benachbarte JSX-Elemente (#23378), einen React-Compiler-Fix für Imports, auf die nur über einen berechneten Schlüssel verwiesen wird (#23586), sowie zwei Breaking Changes an der ESTree-Config-API (#23573, #23574). Die Minifier-Passliste bekommt zusätzlich einen Proxy-bewussten Fix für Object-Introspection-Aufrufe (#23483) und eine neue Erhaltungsregel für Map/WeakSet/WeakMap mit String-Argument (#23470). v0.137 ist der erste Crates-Release seit v0.135 am 2026-06-08 und der zweite seit Buns nativer React-Compiler-Integration, die am 2026-06-20 landete.
Bun integriert den React Compiler direkt in seinen Bundler, rund 20x schneller als das Babel-Plugin

Bun integriert den React Compiler direkt in seinen Bundler, rund 20x schneller als das Babel-Plugin

PR #32504, am 20. Juni 2026 in oven-sh/bun gemergt, macht den Upstream-Rust-Port des React Compilers zu einer eingebauten `bun build`-Transformation hinter `--react-compiler` und `Bun.build({ reactCompiler: true })`. Bun portiert den Upstream-Workspace `compiler/crates/` aus `facebook/react` direkt in eine einzelne Crate `src/react_compiler/` (~62k LOC), anstatt den Weg über Babel, SWC oder Oxc zu gehen, und in einer großen React-Codebasis (rund 860 Komponenten, 1400 Memo-Slots) läuft der Compiler-Durchlauf in 465 ms gegenüber 9,15 s für das Babel-Plugin. Das Feature ist experimentell, standardmäßig deaktiviert und wird zusammen mit `reactCompilerOutputMode` (client oder ssr) und einem `scripts/sync-react-compiler.sh`-Resync-Skript ausgeliefert.
Astro 7.0.0-beta.6 stabilisiert das Routen-Caching und führt JSX-Whitespace-Kompression als Standard ein

Astro 7.0.0-beta.6 stabilisiert das Routen-Caching und führt JSX-Whitespace-Kompression als Standard ein

Astro 7.0.0-beta.6 (19. Juni 2026) befördert die experimentelle Routen-Caching-API auf stabile Top-Level-Konfiguration. Die Flags experimental.cache und experimental.routeRules entfallen, ersetzt durch eine cache-Konfiguration der obersten Ebene und einen Cache-Helper. Beta.5 (18. Juni) hat „jsx“ zum Standardwert von compressHTML gemacht, was das gerenderte HTML jeder Site verändert, die sich auf die Whitespace-Erhaltung verlassen hat. Beta.6 zieht außerdem @astrojs/markdown-satteri 0.3.1-beta.2 nach.
pnpm 11.7 bringt `frozenStore` für Read-Only-Dateisysteme, lässt pacquet Abhängigkeiten auflösen und schließt einen Lockfile-Path-Traversal

pnpm 11.7 bringt `frozenStore` für Read-Only-Dateisysteme, lässt pacquet Abhängigkeiten auflösen und schließt einen Lockfile-Path-Traversal

pnpm 11.7.0 (15. Juni 2026) liefert vier Kernänderungen: einen `--frozen-store`-Install-Modus für Nix-Stores, OCI-Layer und andere Read-Only-Mounts; die Delegation der Abhängigkeitsauflösung an den pacquet-Rust-Port (nicht nur die Materialisierung); ein optionales `--batch`-Flag für `pnpm publish --recursive`; und einen Security-Fix, der Path-Traversal- und reservierte Aliasse (`.bin`, `.pnpm`, `node_modules`, `../../escape`) aus dem Lockfile zurückweist.
Astro 7.0.0-beta.4 macht Sätteri zum Standard-Markdown-Prozessor und führt erweitertes Routing, benutzerdefinierten Logger und gestreamtes Rendering als stabil

Astro 7.0.0-beta.4 macht Sätteri zum Standard-Markdown-Prozessor und führt erweitertes Routing, benutzerdefinierten Logger und gestreamtes Rendering als stabil

Astro 7.0.0-beta.4 (15. Juni 2026) aktiviert die Rust-basierte Sätteri-Markdown-Pipeline standardmäßig, entfernt das experimentelle Flag von erweitertem Routing, benutzerdefiniertem Logger und der neuen Rendering-Engine, löscht die veralteten CLI-Befehle astro db/login/logout/link/init und übernimmt den in alpha.2 eingeführten Dev-Server-Hintergrundmodus als Standard in Agentenkontexten.
Zwei Open-Source-Coding-Modelle in einer Woche: Kimi K2.7-Code und Xiaomi MiMo Code

Zwei Open-Source-Coding-Modelle in einer Woche: Kimi K2.7-Code und Xiaomi MiMo Code

Moonshot AI hat Kimi K2.7-Code veröffentlicht, ein 1T-Parameter-MoE-Coding-Modell mit 32B aktivierten Parametern und 30% weniger Thinking-Tokens gegenüber K2.6. Xiaomi folgte mit MiMo Code, einem weiteren Open-Weights-Coding-Modell. Das steht tatsächlich auf der Model Card.
Oxc v0.135: Rust-Port des React Compiler und ein `#[non_exhaustive]`-AST-Break

Oxc v0.135: Rust-Port des React Compiler und ein `#[non_exhaustive]`-AST-Break

Oxc 0.135 integriert den Rust-Port des React Compilers, markiert AST-Knoten als #[non_exhaustive] (Breaking Change für nachgelagerte Rust-Crates), fügt zwei neue AstBuilder-Methoden hinzu und liefert zahlreiche Parser-Strenge- und Codegen-Whitespace-Fixes.
Nitro v3.0.260522-beta: Build-Time Tracing-Wrapper, VFS-Performance-Boost, Vercel Queues Lokal

Nitro v3.0.260522-beta: Build-Time Tracing-Wrapper, VFS-Performance-Boost, Vercel Queues Lokal

Das Nitro v3 Beta vom 22. Mai bringt automatische Tracing-Span-Wrapper für Route-Handler zur Build-Zeit, einen VFS-Cache für dynamischen Nitro-App-Code und Vercel-Queue-Support im lokalen Development, zusammen mit den Sicherheitspatches der vorherigen Beta.
Vue 3.6 tritt in die Beta-Phase ein: Vapor Mode fertig, Reaktivität überarbeitet

Vue 3.6 tritt in die Beta-Phase ein: Vapor Mode fertig, Reaktivität überarbeitet

Vue 3.6 Beta ist verfügbar mit der Fertigstellung des Vapor Mode, einem virtual-DOM-freien Kompilierungspfad, und einer großen Überarbeitung des Reaktivitätssystems basierend auf alien-signals, mit vielversprechenden Leistungsgewinnen.
JetStream 3: Der Benchmark, der Endlich die Realität Moderner Web-Apps Abbildet

JetStream 3: Der Benchmark, der Endlich die Realität Moderner Web-Apps Abbildet

WebKit, Google und Mozilla haben JetStream 3 veröffentlicht, die erste größere Überarbeitung der Benchmark-Suite seit 2019. Er verzichtet auf Microbenchmarks zugunsten realistischer Workloads, überarbeitet das WebAssembly-Scoring und führt Dart, Kotlin und Rust nach Wasm kompiliert ein.
TypeScript 6.0 – Die Letzte Version Vor dem Go-Umschreiben

TypeScript 6.0 – Die Letzte Version Vor dem Go-Umschreiben

TypeScript 6.0 ist da, und das Microsoft-Team ist offen: Es ist eine Übergangsversion. Die eigentliche Geschichte kommt als nächstes: TypeScript 7, geschrieben in Go und bereits als Preview verfügbar, verspricht einen 10-fachen Performancegewinn.
Oxc Baut still Und Leise Das Schnellste JavaScript-Toolkit in Rust, Und Es Ist Fast Fertig

Oxc Baut still Und Leise Das Schnellste JavaScript-Toolkit in Rust, Und Es Ist Fast Fertig

Während ESLint v10 sich mit Legacy-Bereinigung herumschlug, lieferte das Oxc-Projekt einen Linter 100x schneller, einen Formatter 30x schneller als Prettier, und einen Parser, der SWC im Staub zurücklässt. Hier ist, was der JavaScript Oxidation Compiler wirklich ist.
Knip v6 Bringt oxc-Parser und 2- bis 4-fache Performance-Steigerung

Knip v6 Bringt oxc-Parser und 2- bis 4-fache Performance-Steigerung

Das beliebte Tool zum Aufspüren von ungenutztem Code in JavaScript und TypeScript hat seinen TypeScript-Backend durch den Rust-basierten oxc-Parser ersetzt, mit beeindruckenden Ergebnissen.
numpy-ts 1.2: Bit-genaue NumPy-RNG-Parität und Float16-Support in purem TypeScript

numpy-ts 1.2: Bit-genaue NumPy-RNG-Parität und Float16-Support in purem TypeScript

Die reine TypeScript-Implementierung von NumPy erreicht einen Korrektheits-Meilenstein: Die Zufallszahlengenerierung stimmt jetzt Bit für Bit mit NumPy überein, Float16 kommt als vollwertiger dtype, und das Paket braucht keine Runtime-spezifischen Entry-Points mehr.
Pretext: Die DOM-freie Textmessungsbibliothek, die KI-Coding-Agents bereits verwenden

Pretext: Die DOM-freie Textmessungsbibliothek, die KI-Coding-Agents bereits verwenden

Cheng Lou hat Pretext veröffentlicht, eine reine JavaScript-Bibliothek, die mehrzeiligen Text misst und layoutet, ohne das DOM zu berühren. Hier erfahren Sie, warum das für Virtualisierung, Layout-Kontrolle und KI-Agenten wichtig ist, die UI-Code schreiben.
Bun vs Node vs Deno 2026: Der Runtime-Showdown, Den Niemand Wollte (Aber Alle Haben)

Bun vs Node vs Deno 2026: Der Runtime-Showdown, Den Niemand Wollte (Aber Alle Haben)

Drei JavaScript-Runtimes. Drei verschiedene Philosophien. Unabhängige Benchmarks bei HTTP-Throughput, Cold Starts und asynchroner Performance erzählen eine klarere Geschichte als Marketing es je könnte. Hier ist der schonungslos ehrliche Breakdown für Entwickler, die ihre nächste serverseitige JS-Plattform wählen.
Vue 3.5: Das 'Minor'-Release, das die Regeln der Frontend-Performance neu geschrieben hat

Vue 3.5: Das 'Minor'-Release, das die Regeln der Frontend-Performance neu geschrieben hat

Vue 3.5 kam ohne Breaking Changes und mit einer Reihe von internen Verbesserungen, die jeden Entwickler aufhorchen lassen sollten, 56% weniger Speicherverbrauch, Lazy Hydration und eine stabilisierte reaktive Props-API.