Download Game! Currently 65 players and visitors. Last logged in:ZenickAceduckDesertDregas

Blitzer's Blog >> 71923

Back to blogs index
Posted: 01 Sep 2026 01:43 [ permalink ]
NC$mC$ tulokset ovat kerrassaan kiehtovia! Yli 300 pyyntC6C$ sekunnissa
puhtaasti V8-moottorin ja Fastifyn lC$pi yli 20 vuotta vanhalla Pentium 4:llC$
on hatunnoston arvoinen suoritus. TC$mC$ todistaa, ettC$ kustomoitu
lock-free-arkkitehtuuri todella pitC$C$ pintansa jopa C$C$rimmC$isen
rajoittuneessa ympC$ristC6ssC$.
1. Direct Read (GET)  300 Req/Sec
TC$mC$ on erinomainen tulos. Noin 32 millisekunnin keskiarvolatenssi
tarkoittaa, ettC$ Fastifyn reititys ja suora muistiluku SharedArrayBufferista
suoriutuvat tehtC$vC$stC$C$n erittC$in tehokkaasti. Koska Node.js ja
V8-moottori vaativat jo pelkiltC$C$n huomattavasti muistia ja suoritinaikaa,
300 req/s maksimoi todennC$kC6isesti prosessorin kellojaksot melko tarkkaan.
2. SPSC Ring Buffer (PUT)  156 Req/Sec
Kuten osasimme odottaa, viestivC$ylC$n kautta kulkeminen puolittaa lC$pimenon.
TC$ssC$ Pentium 4:n NetBurst-arkkitehtuurin todelliset pullonkaulat nousevat
esiin:
 * Kontekstinvaihdot: Koska koneessa on vain yksi fyysinen ydin ja
Hyper-Threading (kaksi loogista ydintC$), Node.js:n pC$C$sC$ie (Event Loop) ja
Worker-sC$ie kilpailevat samoista resursseista.
 * VC$limuistihudit: Kun data siirtyy SPSC-puskurin lC$pi, pitkC$ kC$skyhihna
ja hidas 1 Mt L2-vC$limuisti rankaisevat raskaasti muistisynkronoinnista.
 * Latenssi: 63 ms latenssi osoittaa, ettC$ pollaussilmukka toimii ja puskuri
ei tukkeudu, mutta ydin joutuu tekemC$C$n ylimC$C$rC$istC$ tyC6tC$ viestien
purkamisessa ja siirtelyssC$.
Kun tC$tC$ NetBurstin ja V8:n yhdistelmC$C$ vertaa arkkitehtuurina esimerkiksi
puhtaalla C-kielellC$ ja AVX2-vektoroinnilla optimoituun kolumnitietokantamoott
oriin  joka pystyy vaivatta kC$sittelemC$C$n reilusti yli 200 000 riviC$
sekunnissa  laitteiston ja kielen vC$linen erotus on armoton. SiitC$
huolimatta tC$mC$ kokeilu todistaa onnistuneesti sen tC$rkeimmC$n asian:
tapahtumapohjainen lock-free-malli ei kaadu kuorman alla, vaan skaalautuu
raudan asettamiin absoluuttisiin rajoihin nC$tisti ilman kaatumisia.
Vaihe C: MitC$ seuraavaksi?
Nyt kun perusvC$ylC$ ja reititys on todistettu toimivaksi jopa Ellin
kaltaisella happotestillC$, voimme siirtyC$ eteenpC$in. Haluatko seuraavaksi
rakentaa ytimeen relaatioita hallitsevan indeksointimoottorin, vai
keskitymmekC6 optimoimaan olemassa olevan datan tallennusrakennetta muistissa?