Breakthrough: Mozilla å eliminere Add-on minnelekkasjer
Når det gjelder Firefox nettleser, add-ons er uten tvil en av de mest viktig funksjon som gjør nettleseren attraktiv for en Mange brukere. Det er faktisk fortsatt en funksjon som setter leseren fra andre nettlesere, det være seg Opera eller Chrome. Add-ons kan imidlertid også føre til problemer for brukere av nettleseren, spesielt når det kommer til minnelekkasjer. Dette faktisk kan være en av årsakene til at brukerne ser nettleserens minne bruk vokse over tid på operativsystemet.
For å gjøre vondt verre, Firefox fortsatt blir sett på av mange som leseren med den verste minnehåndtering, selv om det egentlig ikke er tilfelle, hvis du nivået de spiller feltet. Avhengig av tilleggsprogrammer installert, og versjoner av nettleseren som brukes, kan resultatene variere.
Gjennombrudd
Mozilla nylig gjort et gjennombrudd som ennå ikke har blitt plukket opp av noen tech nyhetsside der ute. I fikse minnelekkasje, forklarer Mozilla-utvikler Kyle Huey hvordan han fast tilleggsminnelekkasjer gang for alle i nettleseren.
Min tilnærming utnytter det faktum at krom kode lever i en egen avdeling fra nettside kode. Dette betyr at hver referanse fra chrome-kode til innhold koden går gjennom en cross-kupé wrapper, som vi opprettholder i en liste. Når siden er navigert, eller en fane er stengt, kommer vi inn i krom rommet og ta denne listen. Vi går gjennom denne listen og "cut" alle wrappers som peker til objekter på siden vi bli kvitt. Søpla solfangeren kan deretter gjenvinne minnet som brukes av den siden som nå er borte.
I lekmann vilkår, er Firefox nå blokkerer add-ons fra å få tilgang til innhold i nettleseren som ikke eksisterer lenger.
< p> Minnebruk over tid av en spesielt forberedt test suite har falt med 80%. I stedet for å klatre opp til 800 eller 900 megabyte på slutten av dagen, vil Firefox nå bruke cirka 230 megabyte i stedet. Selv på systemer med mye minne, vil brukerne fortsatt se fordeler på grunn av søppelrydding og sykle samling pauser.
Men hva hvis brukeren har en high-end maskin med 16 GB RAM? Da paging er ikke et problem. Men denne forbedringen vil fortsatt være en stor avtale på en slik maskin. Dette er fordi datasanering og syklusen samling årsak pauser, og lengden av pausene er omtrent proporsjonal med mengden av levende haug hukommelse. (Incremental søppelrydding vil snart bli aktivert, noe som vil resultere i mindre søppelrydding pauser, men det er ingen planer for inkrementell syklus samling og så sykle samling pauser vil fortsatt være relevant.) Så selv på high-end maskiner med mye RAM, lekkasjer i stor grad kan skade leseren ytelse.
Det er imidlertid fortsatt en sak som Mozilla trenger å få hodet rundt. Plasteret klarte å hindre den mest vanlige klasse av add-on lekkasjer, men har forårsaket en annen lekkasje til å stå frem som er forårsaket av add-ons som er utarbeidet med en eldre versjon av Add-on SDK. Det kan ta litt tid før det problemet er løst av utviklerne, men når det er løst, kan du vinke farvel til add-on minnelekkasjer.
Firefox-brukere som ønsker å prøve en versjon av nettleseren med funksjonen er aktivert, kan laste ned en av de nyeste Nightly bygger fra Mozilla å gjøre det. Disse er cutting edge utvikling bygger, og ikke egnet for produktive miljøer. Hvis ting går sammen som planlagt, vil vi se trekk så tidlig som i Firefox 15 som er planlagt for en 28 august 2012 release.
Avslutnings Words
Fikse add-on minnelekkasjer er et viktig skritt for Mozilla, som det ikke bare vil gjøre nettleseren raskere for mange brukere, det vil også endre oppfatning av at brukerne har når de bruker det. Ting ser mye lysere ut nå. (Takk Adam for tipset)