JavaScript-kørselstid
Silktide måler, hvor lang tid browseren bruger på at køre scripts, mens din side indlæses. Tunge scripts forhindrer siden i at reagere, så en side kan se indlæst ud, men ignorere tryk og klik i flere sekunder.
Hvorfor det er vigtigt
At downloade et script er kun den første omkostning. Browseren skal derefter fortolke og køre det, og alt dette sker på den samme tråd, der håndterer rulning, indtastning og tryk. Mens scripts kører, er siden døv: Knapper reagerer ikke, og siden føles ødelagt, selv om den ser færdig ud.
I modsætning til downloadtid skalerer denne omkostning med den besøgendes processor – et script, der kører på et halvt sekund på en udviklers maskine, kan tage flere sekunder på en billig telefon. De besøgende med de billigste enheder venter længst.
Sådan løser du det
- Lever mindre . Fjernelse af ubrugt kode er den mest direkte gevinst – se Ubrugt JavaScript.
- Opdel store pakker, og indlæs kun kode til funktioner under det synlige område eller funktioner, der udløses af interaktion, når der er brug for den, så den første indlæsning kun kører det, som den første skærmvisning kræver.
- Gennemgå tredjepartsscripts, som ofte udgør størstedelen af kørselstiden – se Tredjepartskode. Fjern dem, hvis værdi ikke retfærdiggør deres omkostning.
- Flyt reelt tunge beregninger til en web worker, som kører på en separat tråd og holder siden responsiv.
Sådan tester Silktide dette
- Indlæs siden i en rigtig browser med den enhedstype, forbindelseshastighed og testplacering, der er konfigureret til dine hastighedstests.
- Mål den behandlingstid, hvert script brugte under indlæsningen, opdelt i kørsel af koden (scriptevaluering) og forberedelse til at køre den (fortolkning).
- Rapportér de scripts, der brugte væsentlig tid, med en opdeling pr. fil. Når den samlede kørselstid er lav, vises ingen individuelle scripts.
- Vurder siden ud fra totalen: Under 2 sekunder er godt, og omkring 3,5 sekunder eller mere vurderes som dårligt.
Fejlfinding
Et tredjepartsscript ligger øverst på listen
Analytics, tag managers, annoncer og chatwidgets bruger ofte mere kørselstid end et websteds egen kode. Du kan ikke optimere deres interne funktioner, men du kan indlæse dem senere, erstatte dem med lettere alternativer eller fjerne dem, som ingen bruger.
Siden føles hurtig på min maskine
Kørselstid afhænger af processoren. Udvikleres maskiner er typisk flere gange hurtigere end de mellemklasse-telefoner, som de fleste besøgende bruger, så et budget, der føles umærkeligt for dig, kan være sekunder for dem. De målte tal kommer fra en kontrolleret test, ikke fra din hardware.