Mit einer Kombination aus neuer Logik und prefetch sind KreiseRouter jetzt unter der Wahrnehmungsschwelle von 100ms angekommen.
Die Konsole hat einen Benchmark eingebaut, mit Fiber schaffe ich 40-80ms pro Route.
Kalt hatte ich bisher <1000ms und war eigentlich zufrieden, aber dynamisch war mit 300ms schon zu merken, dass da noch was geht.
🚀 🌱 Initial: 327.08ms (Logic: 326.32ms | Render: 0.76ms) - cold, no cache
🚀 🧭 Navigate: 57.87ms (Logic: 56.81ms | Render: 1.06ms) - easy route but another controller (prefetched though) -> 1 Roundtrip
🚀 🧭 Navigate: 76.00ms (Logic: 74.84ms | Render: 1.17ms) - non-prefetched view (privacy has 1 await import -> 2 Roundtrips)
🚀 🧭 Navigate: 41.96ms (Logic: 40.12ms | Render: 1.84ms) - a blog post, here the css and js is already known so its mostly 1 fetch for the blog post itself. -> 1 Roundtrip
Ich würde argumentieren, dass es eigentlich nicht schneller geht, alle Routen sind single-fetch, alle renderer werden nur nachgeladen wenn angefragt und laufen nur wenn nötig. Auch die Module kann ich unmöglich noch effizienter laden.
Keinerlei Frameworks, alles Vanilla JS Code, daher auch sofort lauffähig.
Wer es trotzdem noch besser weiß - ich bin lernfähig!