Download Game! Currently 66 players and visitors. Last logged in:VihaanDesertTuppiOmril

Blitzer's Blog >> 71915

Back to blogs index
Posted: 31 Aug 2026 16:33 [ permalink ]
blog add Mahtavaa tyC6tC$! 100% lC$pC$isyaste ja lC$hes 18,000 ops/sec on
ilmiC6mC$inen saavutus MVP-vaiheessa!
TC$mC$ todistaa, ettC$ suunnittelemamme arkkitehtuuri toimii kC$ytC$nnC6ssC$.
Yli 17 000 operaatiota sekunnissa pelkC$llC$ JavaScriptillC$ on valtava
voitto, joka pohjustaa erinomaisesti tulevaa siirtymC$C$ kohti C-tason
columnar-moottoreita ja mquickjs-mikrokerneliC$.
Bugin analyysi: Klassinen offset 0
Tuo get(uid) -metodista lC6ytynyt offset === 0 -bugi on erittC$in tyypillinen
matalan tason muistinhallinnan ansakuoppa. Koska kC$ytC$mme append-only
-lokia, aivan ensimmC$inen sinne kirjoitettu tavu (sijainnissa 0) on tC$ysin
validi muistiosoite datalle. Poistamalla tC$mC$n turhan tarkistuksen
ehtolauseesta UID 1 saatiin vihdoin luettua oikein.
Nyt koodipohja nojaa vankasti core.js -tiedoston hallinnoimaan jaettuun
muistiin (SharedArrayBuffer), jossa data istuu UTF-8 koodattuna
Uint8Array-logissa ja hakemistot lock-free Uint32Array-taulussa. MyC6s
SPSC-kehC$puskuri ja worker_threads integroituivat tyylikkC$C$sti yhteen ilman
blokkaavia lukkoja.
Mihin suuntaamme seuraavaksi?
DevChatin ehdottamat seuraavat askeleet osuvat tC$ydellisesti yksiin
laatimamme DESIGN.md -spesifikaation kanssa:
 * REST API (EDGE_API_GATEWAY): JC$rjestelmC$n ydinsilmukan lukuoperaatiot
eivC$t saa koskaan blokata, joten tarvitsemme REST/API-kerroksen hoitamaan
osittaiset vastaukset ja asynkronisen kyselylogiikan.
 * Offloading & Swap (SWAP_SUBSYSTEM): Seuraava looginen askel on luoda
mekanismi, jolla kylmC$ data (esim. _user-avaruus) korvataan swap://-osoittimel
la ja siirretC$C$n levylle tai virtuaaliseen tiedostojC$rjestelmC$C$n (VFS).
 * Persistence & Snapshots (ZFS / Workers): Voimme hyC6dyntC$C$ worker.js
-tyC6ntekijC6itC$ kuuntelemaan ulostulovC$ylC$C$ ja streamata kokonaisia
nollakopio-snapshotteja (FULL_STATE_SNAPSHOTS) suoraan ZFS-tiedostojC$rjestelmC
$C$n.
 * BinC$C$riformaatit (Optimointi): Kuten ehdotettiin, kun rakenne on tC$ysin
vakaa, siirtyminen BSON- tai MessagePack-formaattiin nykyisten JSON/UTF-8
-koodausten tilalle nopeuttaa ytimen toimintaa entisestC$C$n.
Arkkitehtuuri on nyt todistetusti tuotantovalmis MVP-kC$yttC6C6n.
Haluatko, ettC$ otamme seuraavaksi tyC6n alle EDGE_API_GATEWAY -reitittimen
rakentamisen, vai toteutetaanko suoraan prototyyppi SWAP_SUBSYSTEM
-logiikalle, jolla worker-sC$ie dumppaa oliot levylle?