Mechaniek

Snelheid door caching

Pagina's renderen uit de bestanden als ze worden opgevraagd, en het resultaat wordt bewaard tot een bestand eronder verandert. Snel, zonder tweede kopie van de waarheid.

Geen build-stap

Een pagina wordt gemaakt als hij wordt opgevraagd, uit de bestanden zoals ze op dat moment zijn: de entiteit wordt gelezen, de verwijzingen opgelost, de template toegepast. Static-site-generators bouwen bij elke wijziging alles opnieuw; gecompileerde systemen bakken bij publicatie een graaf. Allebei kopen ze snel lezen met een tweede kopie van de waarheid — een die verouderd, half gebouwd of uit de pas kan zijn.

Eén kopie, een cache erbovenop

loam houdt één kopie, en cachet wat het daaruit afleidt. Een gerenderde pagina wordt bewaard en opnieuw geserveerd tot er iets onder verandert; een publicatie wist hem meteen. Een cache is wegwerp en wordt nooit geraadpleegd als waarheid: gooi hem weg en het eerste verzoek bouwt hem opnieuw, precies hetzelfde.

Versheid is een blik, geen zoektocht

Een wijziging markeert zijn map en elke map erboven. Of een cache nog goed is, is één blik op een tijdstempel — nooit een wandeling door de site. Zelfs een bestand dat buiten de gewone weg is veranderd, wordt binnen seconden opgemerkt.

Kleine dingen die snel blijven

  • Indexen in het geheugen. De indexen van de site worden opgeslagen als gecompileerde code die PHP in gedeeld geheugen houdt, dus er een laden kost bijna niets.
  • Assets voor een jaar. Elk beeld, elke stylesheet en elk script heeft een eigen versiestring. Browsers en CDN's bewaren ze een jaar; verander het bestand en alleen dat bestand wordt opnieuw opgehaald.
  • Publiceren is verplaatsen. Live gaan verplaatst een bestand van de conceptlaag naar de live laag, in de tijd van een hernoeming. Het volgende verzoek rendert de nieuwe toestand.

Geen kettingreactie

Een gecompileerd systeem moet alles herberekenen waarin een gewijzigde entiteit zit — werk dat groeit met de site en faalt als het wordt onderbroken. In loam verandert de naam van een persoon in één bestand, en elke pagina die hem noemt laat het zien bij het volgende verzoek. Niets te herberekenen, niets te onderbreken.