JavaScript-kjøringstid
Silktide måler hvor mye tid nettleseren bruker på å kjøre skript mens siden lastes inn. Omfattende skriptarbeid hindrer siden i å svare, slik at en side kan se ut som den er lastet inn, men likevel ignorere trykk og klikk i flere sekunder.
Hvorfor dette er viktig
Nedlasting av et skript er bare den første kostnaden. Nettleseren må deretter analysere og kjøre det, og alt dette skjer på den samme tråden som håndterer rulling, skriving og trykk. Mens skript kjører, er siden døv: Knapper svarer ikke, og siden føles ødelagt selv om den ser ferdig ut.
I motsetning til nedlastingstiden skalerer denne kostnaden med prosessoren til den besøkende – et skript som kjører på et halvt sekund på utviklerens maskin, kan ta flere sekunder på en rimelig telefon. Besøkende med de billigste enhetene må vente lengst.
Slik løser du det
- Send mindre . Det mest direkte tiltaket er å fjerne ubrukt kode – se Ubrukt JavaScript.
- Del opp store pakker, og last bare inn kode for funksjoner under det synlige området eller interaksjonsstyrte funksjoner når det er nødvendig, slik at den første innlastingen bare kjører det som trengs på den første skjermen.
- Gå gjennom tredjepartsskript, som ofte står for mesteparten av kjøringstiden – se Tredjepartskode. Fjern dem hvis verdien de gir, ikke forsvarer kostnaden.
- Flytt genuint tunge beregninger til en web worker, som kjører på en separat tråd og lar siden forbli responsiv.
Slik tester Silktide dette
- Last inn siden i en ekte nettleser, med enhetstype, tilkoblingshastighet og teststed konfigurert for hastighetstestene dine.
- Mål behandlingstiden hvert skript brukte under innlastingen, delt opp i kjøring av koden (skriptevaluering) og forberedelse til kjøring (parsing).
- Rapporter skriptene som brukte betydelig tid, med en oversikt per fil. Når den totale kjøringstiden er lav, vises ingen individuelle skript.
- Gi siden en vurdering basert på totalen: under 2 sekunder er bra, mens rundt 3,5 sekunder eller mer vurderes som dårlig.
Feilsøking
Et tredjepartsskript topper listen
Analytics, tag-administratorer, annonser og chatmoduler bruker ofte mer kjøringstid enn nettstedets egen kode. Du kan ikke optimalisere innmaten deres, men du kan laste dem inn senere, erstatte dem med lettere alternativer eller fjerne dem ingen bruker.
Siden føles rask på maskinen min
Kjøringstiden avhenger av prosessoren. Utviklermaskiner er vanligvis flere ganger raskere enn mellomklassetelefonene de fleste besøkende bruker, så en kostnad som er umerkelig for deg, kan utgjøre flere sekunder for dem. De målte tallene kommer fra en kontrollert test, ikke maskinvaren din.