ROADMAP

Compatibilità provata. Distribuzione residente sotto test. Async dopo.

La sequenza segue gate tecnici, non date arbitrarie. Ogni fase deve preservare il comportamento dell'oracolo e sbloccare un caso d'uso misurabile.

FATTO

Suite WordPress complete a parità effettiva.

La suite single-site esegue 30.472 test e la multisite 31.278. Ciascuna ha una sola divergenza dichiarata, dovuta a un elenco dei wrapper deliberatamente onesto.

MySQL realewp-adminRESTmedia byte-identici

FATTO

CPU, footprint e teardown della richiesta misurati.

L'arco prestazionale ha ridotto la CPU full-suite da circa 4,1× alla banda corrente 2,06–2,11×. WP-72 ha chiuso il residuo misurato per richiesta a 0,0010 KiB/richiesta e ha sbloccato la rotta Axum.

ORA

Axum più un pool worker-attore su thread dedicati.

Poiché la VM contiene stato basato su Rc ed è !Send, ogni worker longevo resta fissato al proprio thread OS. Axum distribuisce le richieste tramite message passing mpsc; il ciclo esplicito è cablato, mentre coda bounded e backpressure restano gate di rilascio.

PROSSIMO GATE

Passare dall’arena persistente al riuso sicuro della stessa VM.

Il RetainSet persistente per thread e il relativo gate iniziale su due richieste sono arrivati. Restano una VM davvero riusata, amplificazione K=10, coppia oracolo fresh-vs-reuse e verifica dell’ordine del lifecycle prima di dichiarare VM persistenti.

DOPO IL CONFINE

Evidenza sotto carico, Laravel e superfici PHP residue.

Quando il confine di riuso sarà byte-fedele e limitato in memoria, il progetto potrà misurare onestamente code e throughput, proseguire l'hardening, validare Laravel e chiudere i gap di estensione ad alto valore.

VISIONE DI LUNGO PERIODO

Single binary e I/O asincrono nativo.

La VM resta sincrona. Un driver per-thread potrà in seguito sospendere e riprendere Fiber attorno a I/O realmente non bloccante, dopo aver provato lifecycle residente e driver rete/database rilevanti.

NOTA ARCHITETTURALE

Il worker possiede la VM; il runtime async non la sposta.

La rotta task_local respinta non poteva offrire riuso reale a una VM non-Send. Il design converge su worker-attore stile php-fpm: thread OS dedicati, dispatch mpsc, un solo proprietario e confine in ordine Zend request_start → run → request_shutdown → request_end. Prima del rilascio, il canale oggi non limitato deve acquisire backpressure esplicita.

Cosa decide se una fase viene spedita

Parità comportamentale

I percorsi fresh e riusato devono produrre gli stessi esiti per nome di PHP.

Memoria limitata

Lo stato di richiesta deve azzerarsi senza crescita residua in amplificazione e carichi sostenuti.

Prestazioni misurate

I claim richiedono coppie con l'oracolo, user CPU e ladder del footprint, non aneddoti isolati sul wall-clock.

Semantica dei fallimenti

Eccezioni, shutdown handler, buffer, distruttori e sessioni devono eseguire nell'ordine corretto.

Backpressure

Una coda worker limitata deve fallire in modo prevedibile, senza creare task o thread senza limite.

Trigger, non calendari

Pool, preload e async entrano solo quando un workload reale prova sia la necessità sia l'implementazione.

Rotta corrente: NEXT_SESSION_WORDPRESS.md ↗ · evidenza prestazionale: GAP_TREND.md ↗ · architettura async e distribuzione ↗