lørdag den 7. maj 2011

Din Web, et halvt sekund Foer

Hos Google er vi konstant forsøger at gøre internettet hurtigere ikke bare vores hjørne af det, men det hele. I løbet af de sidste par dage har vi været udrulle en ny og forbedret version af show_ads.js, at det stykke af JavaScript bruges af mere end to millioner udgivere AdSense annoncer på deres websider. Den nye show_ads er lille og hurtig, der er bygget så din browser kan vende sin opmærksomhed tilbage til sin vigtigste opgave - at arbejde på resten af ​​websiden - så hurtigt som muligt. Denne ændring er nu gør milliarder af websider hver dag indlæses hurtigere ved et halvt sekund eller mere.

Den gamle show_ads har masser af arbejde: læsning andre scripts, indsamle oplysninger om den webside det var kører på, og opbygning af annoncen anmodning om at sende tilbage til Google. Den nye show_ads har et andet job. Det skaber en venlig (samme oprindelse) iframe på hjemmesiden, og starter den gamle script med et nyt navn, show_ads_impl, der kører i denne iframe. Den _impl gør alt det tunge løft, og i sidste ende annoncer se nøjagtig det samme. Men der er en betydelig fart fordel: mange ting, der sker inde i en iframe, ikke blokere for browserens andet arbejde.

Hvor meget af en effekt det har, afhænger af sammenhængen: en side med lutter annoncer på det kommer ikke til at få nogen hurtigere. Men på den virkelige verden steder, vi testede, er den ventetid overhead fra vores annoncer dybest set væk. Sideindlæsning gange med nye asynkrone AdSense-implementering er statistisk ikke kan skelnes fra belastning gange for de samme sider med ingen annoncer overhovedet.

Den nye show_ads er en drop-in erstatning for det gamle: web site ejere behøver ikke at gøre noget for at få denne hastighed-up. Men disse dynamisk befolkede venlige iframes er kræsen bæster. For nu er vi kun bruger denne teknik på Chrome, Firefox og Internet Explorer 8, med mere til at komme når vi er sikre på, at det spiller godt sammen med andre browsere.

Og hvad nu hvis du har opbygget en side, der indlæses AdSense-annoncer, og derefter manipulerer dem på eksotiske måder ikke er forenelig med venlig iframes? (Dette er på internettet, trods alt land "Hvad mener du med det er 'ikke understøttet'? Jeg prøvede det, og det virkede!") Du kan indstille "google_enable_async = false" for de enkelte annonceplads at vende tilbage til de gamle blokering adfærd. Men hvis dit websted belastninger annoncer i nogle kringlede måde, fordi du var på udkig efter latenstid ydelser, overveje at give den enkel påkaldelsen af ​​show_ads.js en hvirvel. Fordi nu er vi hurtigt.

Af Michael Kleber, annoncer Latency Team

Ingen kommentarer: