Google's liefde / haat benadering van JavaScript

Bekijk de niet-zoekproducten die Google in de loop der jaren heeft gelanceerd: Documenten, Chrome, Chromebooks, Maps, Android, de lijst gaat maar door. De bedoeling van deze producten is duidelijk: laat gebruikers hun webgebruik verhogen zodat Google advertenties aan hen kan verkopen. Wanneer het internetgebruik toeneemt, neemt de omzet van Google toe vanwege de enorme hoeveelheid AdWords.

Er kan geen twijfel bestaan ​​over de snelheid waarmee de Chrome-browser van Google webpagina's en applicaties kan renderen en uitvoeren. Google weet dat internet alleen als platform kan werken als het de prestaties van de native code zo benadert dat de leek-gebruiker het verschil in uitvoeringssnelheid niet kan zien. De basis van deze snelheid ligt niet zozeer in de WebKit-browser-engine, maar wel in de JavaScript-motor van v8 van Chrome.

V8 is zo succesvol en efficiënt dat het server-side is genomen en wordt gebruikt als de kern van de event-driven Node.js-server.

Google zou terecht moeten worden toegejuicht voor het versnellen van de uitvoering van JavaScript en het uitdagen van andere browsermakers om hun spel te verbeteren om gelijke tred te houden met Chrome.

Firefox is de belangrijkste rivaal van Chrome in de inzet van prestaties, maar vorige week merkte ik dat de Mozilla-browser een oude gewoonte van een poging tot en vaak succesvolle overheersing van het geheugen van mijn machine had herontdekt; een probleem waarvan ik dacht dat het lang geleden door het Mozilla-team was vermoord. Zoals gebruikelijk legde ik meteen de schuld op die oude bronconsument die Flash heette.

Maar dit was een van de zeldzame gevallen waarin Flash niet verantwoordelijk was voor het geheugen. Een blik op Firefox over: de geheugenpagina ving meteen de schuldige op: de + 1-knop van Google +.

Meer dan anderhalf geheugen werd toegewezen aan Firefox, waarvan meer dan de helft werd opgebruikt door de JavaScript-engine, en daarvan was de toonaangevende geheugengebruiker de ironisch genaamde +1 fastbutton van Google. De snelknop is dat kleine knopje met het aantal + 1's per pagina. Het geheim van de manier waarop deze knop zoveel geheugen kan bezitten, is het wijdverbreide herontwerp van Google Reader.

Als iemand die Google Reader doorzoekt in de uitgebreide weergave, betekent dit dat voor elk RSS-item dat in de loop van een dag op mijn scherm wordt weergegeven - een getal in de honderden, zo niet duizenden - een afzonderlijke +1 knopoproep is gemaakt voor elk verhaal. Het eindresultaat is dat meer dan een kwart van het totale geheugengebruik van mijn browser in beslag wordt genomen door een weinig gebruikte widget voor delen.

Hoeveel code wordt gebruikt voor de + 1-knop? Hier is de bron ervan:

window.__SSR = {c: 1.0, at:'AEIZW7QA\/ehGTQ1zoq\/VWNXexgcyzbET2yWIG9qwsHSt2ho2kGles5BkYhyEntZqoGqo\/QfKVJtKTd1lLUBwaGif6z+MVs6kN2z7Z95+DgUwGDf0KePz00s\x3d', ld:, 2, 1, ,, 0 , s:'widget', id:'http:\/\/www.techrepublic.com\/blog\/australia\/fetching-64-bit-mozilla-builds-for-linux\/287', is:0}; 1 window'__P1_XP' = {"UC":true, "UH":true}; window.__GOOGLEAPIS = {googleapis: {versions: {pos: 'v1'}}};window'__P1_BASEURL' = 'https://plusone.google.com/'; window'__P1_LOCALE' = 'en_GB'; var _DumpException = function(e) { e'errsource' = e'errsource' || 'api_widget'; throw e; } window'___jsl' = window'___jsl' || {}; window'___jsl''ci' = {"gwidget":{"parsetags":"explicit", "superbatch":false}, "iframes":{"sharebox":{"params":{"json":"&"}, "url":":socialhost:/:session_prefix:_/sharebox/dialog"}, "plus":{"url":":socialhost:/:session_prefix:_/pages/badge"}, ":socialhost:":"https://plusone.google.com", "plusone_m":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}, "card":{"params":{"style":"#", "userid":"&"}, "url":":socialhost:/:session_prefix:_/hovercard/internalcard"}, "plusone":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}}, "googleapis.config":{"methods":{"pos.plusones.list":true, "chili.people.list":true, "pos.plusones.get":true, "chili.people.get":true, "pos.plusones.insert":true, "pos.plusones.delete":true, "chili.activities.list":true, "chili.activities.get":true, "pos.plusones.getSignupState":true, "chili.activities.search":true}, "requestCache":{"enabled":true}, "versions":{"chili":"v1", "pos":"v1"}, "rpc":"/rpc", "root":"https://www.googleapis.com", "root-1p":"https://clients6.google.com", "sessionCache":{"enabled":true}, "transport":{"isProxyShared":true}, "xd3":"/static/proxy.html", "developerKey":"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ", "auth":{"useInterimAuth":false}}};var params = {};params'height' = 24.0 ;iframes.ready(params, {'canAutoClose': function() {var f = window'__CAN_AUTOCLOSE_BUBBLE'; return f ? f() : true;}}); 

window.__SSR = {c: 1.0, at:'AEIZW7QA\/ehGTQ1zoq\/VWNXexgcyzbET2yWIG9qwsHSt2ho2kGles5BkYhyEntZqoGqo\/QfKVJtKTd1lLUBwaGif6z+MVs6kN2z7Z95+DgUwGDf0KePz00s\x3d', ld:, 2, 1, ,, 0 , s:'widget', id:'http:\/\/www.techrepublic.com\/blog\/australia\/fetching-64-bit-mozilla-builds-for-linux\/287', is:0}; 1 window'__P1_XP' = {"UC":true, "UH":true}; window.__GOOGLEAPIS = {googleapis: {versions: {pos: 'v1'}}};window'__P1_BASEURL' = 'https://plusone.google.com/'; window'__P1_LOCALE' = 'en_GB'; var _DumpException = function(e) { e'errsource' = e'errsource' || 'api_widget'; throw e; } window'___jsl' = window'___jsl' || {}; window'___jsl''ci' = {"gwidget":{"parsetags":"explicit", "superbatch":false}, "iframes":{"sharebox":{"params":{"json":"&"}, "url":":socialhost:/:session_prefix:_/sharebox/dialog"}, "plus":{"url":":socialhost:/:session_prefix:_/pages/badge"}, ":socialhost:":"https://plusone.google.com", "plusone_m":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}, "card":{"params":{"style":"#", "userid":"&"}, "url":":socialhost:/:session_prefix:_/hovercard/internalcard"}, "plusone":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}}, "googleapis.config":{"methods":{"pos.plusones.list":true, "chili.people.list":true, "pos.plusones.get":true, "chili.people.get":true, "pos.plusones.insert":true, "pos.plusones.delete":true, "chili.activities.list":true, "chili.activities.get":true, "pos.plusones.getSignupState":true, "chili.activities.search":true}, "requestCache":{"enabled":true}, "versions":{"chili":"v1", "pos":"v1"}, "rpc":"/rpc", "root":"https://www.googleapis.com", "root-1p":"https://clients6.google.com", "sessionCache":{"enabled":true}, "transport":{"isProxyShared":true}, "xd3":"/static/proxy.html", "developerKey":"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ", "auth":{"useInterimAuth":false}}};var params = {};params'height' = 24.0 ;iframes.ready(params, {'canAutoClose': function() {var f = window'__CAN_AUTOCLOSE_BUBBLE'; return f ? f() : true;}});

window.__SSR = {c: 1.0, at:'AEIZW7QA\/ehGTQ1zoq\/VWNXexgcyzbET2yWIG9qwsHSt2ho2kGles5BkYhyEntZqoGqo\/QfKVJtKTd1lLUBwaGif6z+MVs6kN2z7Z95+DgUwGDf0KePz00s\x3d', ld:, 2, 1, ,, 0 , s:'widget', id:'http:\/\/www.techrepublic.com\/blog\/australia\/fetching-64-bit-mozilla-builds-for-linux\/287', is:0}; 1 window'__P1_XP' = {"UC":true, "UH":true}; window.__GOOGLEAPIS = {googleapis: {versions: {pos: 'v1'}}};window'__P1_BASEURL' = 'https://plusone.google.com/'; window'__P1_LOCALE' = 'en_GB'; var _DumpException = function(e) { e'errsource' = e'errsource' || 'api_widget'; throw e; } window'___jsl' = window'___jsl' || {}; window'___jsl''ci' = {"gwidget":{"parsetags":"explicit", "superbatch":false}, "iframes":{"sharebox":{"params":{"json":"&"}, "url":":socialhost:/:session_prefix:_/sharebox/dialog"}, "plus":{"url":":socialhost:/:session_prefix:_/pages/badge"}, ":socialhost:":"https://plusone.google.com", "plusone_m":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}, "card":{"params":{"style":"#", "userid":"&"}, "url":":socialhost:/:session_prefix:_/hovercard/internalcard"}, "plusone":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}}, "googleapis.config":{"methods":{"pos.plusones.list":true, "chili.people.list":true, "pos.plusones.get":true, "chili.people.get":true, "pos.plusones.insert":true, "pos.plusones.delete":true, "chili.activities.list":true, "chili.activities.get":true, "pos.plusones.getSignupState":true, "chili.activities.search":true}, "requestCache":{"enabled":true}, "versions":{"chili":"v1", "pos":"v1"}, "rpc":"/rpc", "root":"https://www.googleapis.com", "root-1p":"https://clients6.google.com", "sessionCache":{"enabled":true}, "transport":{"isProxyShared":true}, "xd3":"/static/proxy.html", "developerKey":"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ", "auth":{"useInterimAuth":false}}};var params = {};params'height' = 24.0 ;iframes.ready(params, {'canAutoClose': function() {var f = window'__CAN_AUTOCLOSE_BUBBLE'; return f ? f() : true;}});

window.__SSR = {c: 1.0, at:'AEIZW7QA\/ehGTQ1zoq\/VWNXexgcyzbET2yWIG9qwsHSt2ho2kGles5BkYhyEntZqoGqo\/QfKVJtKTd1lLUBwaGif6z+MVs6kN2z7Z95+DgUwGDf0KePz00s\x3d', ld:, 2, 1, ,, 0 , s:'widget', id:'http:\/\/www.techrepublic.com\/blog\/australia\/fetching-64-bit-mozilla-builds-for-linux\/287', is:0}; 1 window'__P1_XP' = {"UC":true, "UH":true}; window.__GOOGLEAPIS = {googleapis: {versions: {pos: 'v1'}}};window'__P1_BASEURL' = 'https://plusone.google.com/'; window'__P1_LOCALE' = 'en_GB'; var _DumpException = function(e) { e'errsource' = e'errsource' || 'api_widget'; throw e; } window'___jsl' = window'___jsl' || {}; window'___jsl''ci' = {"gwidget":{"parsetags":"explicit", "superbatch":false}, "iframes":{"sharebox":{"params":{"json":"&"}, "url":":socialhost:/:session_prefix:_/sharebox/dialog"}, "plus":{"url":":socialhost:/:session_prefix:_/pages/badge"}, ":socialhost:":"https://plusone.google.com", "plusone_m":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}, "card":{"params":{"style":"#", "userid":"&"}, "url":":socialhost:/:session_prefix:_/hovercard/internalcard"}, "plusone":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}}, "googleapis.config":{"methods":{"pos.plusones.list":true, "chili.people.list":true, "pos.plusones.get":true, "chili.people.get":true, "pos.plusones.insert":true, "pos.plusones.delete":true, "chili.activities.list":true, "chili.activities.get":true, "pos.plusones.getSignupState":true, "chili.activities.search":true}, "requestCache":{"enabled":true}, "versions":{"chili":"v1", "pos":"v1"}, "rpc":"/rpc", "root":"https://www.googleapis.com", "root-1p":"https://clients6.google.com", "sessionCache":{"enabled":true}, "transport":{"isProxyShared":true}, "xd3":"/static/proxy.html", "developerKey":"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ", "auth":{"useInterimAuth":false}}};var params = {};params'height' = 24.0 ;iframes.ready(params, {'canAutoClose': function() {var f = window'__CAN_AUTOCLOSE_BUBBLE'; return f ? f() : true;}});

window.__SSR = {c: 1.0, at:'AEIZW7QA\/ehGTQ1zoq\/VWNXexgcyzbET2yWIG9qwsHSt2ho2kGles5BkYhyEntZqoGqo\/QfKVJtKTd1lLUBwaGif6z+MVs6kN2z7Z95+DgUwGDf0KePz00s\x3d', ld:, 2, 1, ,, 0 , s:'widget', id:'http:\/\/www.techrepublic.com\/blog\/australia\/fetching-64-bit-mozilla-builds-for-linux\/287', is:0}; 1 window'__P1_XP' = {"UC":true, "UH":true}; window.__GOOGLEAPIS = {googleapis: {versions: {pos: 'v1'}}};window'__P1_BASEURL' = 'https://plusone.google.com/'; window'__P1_LOCALE' = 'en_GB'; var _DumpException = function(e) { e'errsource' = e'errsource' || 'api_widget'; throw e; } window'___jsl' = window'___jsl' || {}; window'___jsl''ci' = {"gwidget":{"parsetags":"explicit", "superbatch":false}, "iframes":{"sharebox":{"params":{"json":"&"}, "url":":socialhost:/:session_prefix:_/sharebox/dialog"}, "plus":{"url":":socialhost:/:session_prefix:_/pages/badge"}, ":socialhost:":"https://plusone.google.com", "plusone_m":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}, "card":{"params":{"style":"#", "userid":"&"}, "url":":socialhost:/:session_prefix:_/hovercard/internalcard"}, "plusone":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}}, "googleapis.config":{"methods":{"pos.plusones.list":true, "chili.people.list":true, "pos.plusones.get":true, "chili.people.get":true, "pos.plusones.insert":true, "pos.plusones.delete":true, "chili.activities.list":true, "chili.activities.get":true, "pos.plusones.getSignupState":true, "chili.activities.search":true}, "requestCache":{"enabled":true}, "versions":{"chili":"v1", "pos":"v1"}, "rpc":"/rpc", "root":"https://www.googleapis.com", "root-1p":"https://clients6.google.com", "sessionCache":{"enabled":true}, "transport":{"isProxyShared":true}, "xd3":"/static/proxy.html", "developerKey":"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ", "auth":{"useInterimAuth":false}}};var params = {};params'height' = 24.0 ;iframes.ready(params, {'canAutoClose': function() {var f = window'__CAN_AUTOCLOSE_BUBBLE'; return f ? f() : true;}});
window.__SSR = {c: 1.0, at:'AEIZW7QA\/ehGTQ1zoq\/VWNXexgcyzbET2yWIG9qwsHSt2ho2kGles5BkYhyEntZqoGqo\/QfKVJtKTd1lLUBwaGif6z+MVs6kN2z7Z95+DgUwGDf0KePz00s\x3d', ld:, 2, 1, ,, 0 , s:'widget', id:'http:\/\/www.techrepublic.com\/blog\/australia\/fetching-64-bit-mozilla-builds-for-linux\/287', is:0}; 1 window'__P1_XP' = {"UC":true, "UH":true}; window.__GOOGLEAPIS = {googleapis: {versions: {pos: 'v1'}}};window'__P1_BASEURL' = 'https://plusone.google.com/'; window'__P1_LOCALE' = 'en_GB'; var _DumpException = function(e) { e'errsource' = e'errsource' || 'api_widget'; throw e; } window'___jsl' = window'___jsl' || {}; window'___jsl''ci' = {"gwidget":{"parsetags":"explicit", "superbatch":false}, "iframes":{"sharebox":{"params":{"json":"&"}, "url":":socialhost:/:session_prefix:_/sharebox/dialog"}, "plus":{"url":":socialhost:/:session_prefix:_/pages/badge"}, ":socialhost:":"https://plusone.google.com", "plusone_m":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}, "card":{"params":{"style":"#", "userid":"&"}, "url":":socialhost:/:session_prefix:_/hovercard/internalcard"}, "plusone":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}}, "googleapis.config":{"methods":{"pos.plusones.list":true, "chili.people.list":true, "pos.plusones.get":true, "chili.people.get":true, "pos.plusones.insert":true, "pos.plusones.delete":true, "chili.activities.list":true, "chili.activities.get":true, "pos.plusones.getSignupState":true, "chili.activities.search":true}, "requestCache":{"enabled":true}, "versions":{"chili":"v1", "pos":"v1"}, "rpc":"/rpc", "root":"https://www.googleapis.com", "root-1p":"https://clients6.google.com", "sessionCache":{"enabled":true}, "transport":{"isProxyShared":true}, "xd3":"/static/proxy.html", "developerKey":"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ", "auth":{"useInterimAuth":false}}};var params = {};params'height' = 24.0 ;iframes.ready(params, {'canAutoClose': function() {var f = window'__CAN_AUTOCLOSE_BUBBLE'; return f ? f() : true;}});

window.__SSR = {c: 1.0, at:'AEIZW7QA\/ehGTQ1zoq\/VWNXexgcyzbET2yWIG9qwsHSt2ho2kGles5BkYhyEntZqoGqo\/QfKVJtKTd1lLUBwaGif6z+MVs6kN2z7Z95+DgUwGDf0KePz00s\x3d', ld:, 2, 1, ,, 0 , s:'widget', id:'http:\/\/www.techrepublic.com\/blog\/australia\/fetching-64-bit-mozilla-builds-for-linux\/287', is:0}; 1 window'__P1_XP' = {"UC":true, "UH":true}; window.__GOOGLEAPIS = {googleapis: {versions: {pos: 'v1'}}};window'__P1_BASEURL' = 'https://plusone.google.com/'; window'__P1_LOCALE' = 'en_GB'; var _DumpException = function(e) { e'errsource' = e'errsource' || 'api_widget'; throw e; } window'___jsl' = window'___jsl' || {}; window'___jsl''ci' = {"gwidget":{"parsetags":"explicit", "superbatch":false}, "iframes":{"sharebox":{"params":{"json":"&"}, "url":":socialhost:/:session_prefix:_/sharebox/dialog"}, "plus":{"url":":socialhost:/:session_prefix:_/pages/badge"}, ":socialhost:":"https://plusone.google.com", "plusone_m":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}, "card":{"params":{"style":"#", "userid":"&"}, "url":":socialhost:/:session_prefix:_/hovercard/internalcard"}, "plusone":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}}, "googleapis.config":{"methods":{"pos.plusones.list":true, "chili.people.list":true, "pos.plusones.get":true, "chili.people.get":true, "pos.plusones.insert":true, "pos.plusones.delete":true, "chili.activities.list":true, "chili.activities.get":true, "pos.plusones.getSignupState":true, "chili.activities.search":true}, "requestCache":{"enabled":true}, "versions":{"chili":"v1", "pos":"v1"}, "rpc":"/rpc", "root":"https://www.googleapis.com", "root-1p":"https://clients6.google.com", "sessionCache":{"enabled":true}, "transport":{"isProxyShared":true}, "xd3":"/static/proxy.html", "developerKey":"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ", "auth":{"useInterimAuth":false}}};var params = {};params'height' = 24.0 ;iframes.ready(params, {'canAutoClose': function() {var f = window'__CAN_AUTOCLOSE_BUBBLE'; return f ? f() : true;}});

window.__SSR = {c: 1.0, at:'AEIZW7QA\/ehGTQ1zoq\/VWNXexgcyzbET2yWIG9qwsHSt2ho2kGles5BkYhyEntZqoGqo\/QfKVJtKTd1lLUBwaGif6z+MVs6kN2z7Z95+DgUwGDf0KePz00s\x3d', ld:, 2, 1, ,, 0 , s:'widget', id:'http:\/\/www.techrepublic.com\/blog\/australia\/fetching-64-bit-mozilla-builds-for-linux\/287', is:0}; 1 window'__P1_XP' = {"UC":true, "UH":true}; window.__GOOGLEAPIS = {googleapis: {versions: {pos: 'v1'}}};window'__P1_BASEURL' = 'https://plusone.google.com/'; window'__P1_LOCALE' = 'en_GB'; var _DumpException = function(e) { e'errsource' = e'errsource' || 'api_widget'; throw e; } window'___jsl' = window'___jsl' || {}; window'___jsl''ci' = {"gwidget":{"parsetags":"explicit", "superbatch":false}, "iframes":{"sharebox":{"params":{"json":"&"}, "url":":socialhost:/:session_prefix:_/sharebox/dialog"}, "plus":{"url":":socialhost:/:session_prefix:_/pages/badge"}, ":socialhost:":"https://plusone.google.com", "plusone_m":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}, "card":{"params":{"style":"#", "userid":"&"}, "url":":socialhost:/:session_prefix:_/hovercard/internalcard"}, "plusone":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}}, "googleapis.config":{"methods":{"pos.plusones.list":true, "chili.people.list":true, "pos.plusones.get":true, "chili.people.get":true, "pos.plusones.insert":true, "pos.plusones.delete":true, "chili.activities.list":true, "chili.activities.get":true, "pos.plusones.getSignupState":true, "chili.activities.search":true}, "requestCache":{"enabled":true}, "versions":{"chili":"v1", "pos":"v1"}, "rpc":"/rpc", "root":"https://www.googleapis.com", "root-1p":"https://clients6.google.com", "sessionCache":{"enabled":true}, "transport":{"isProxyShared":true}, "xd3":"/static/proxy.html", "developerKey":"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ", "auth":{"useInterimAuth":false}}};var params = {};params'height' = 24.0 ;iframes.ready(params, {'canAutoClose': function() {var f = window'__CAN_AUTOCLOSE_BUBBLE'; return f ? f() : true;}});

window.__SSR = {c: 1.0, at:'AEIZW7QA\/ehGTQ1zoq\/VWNXexgcyzbET2yWIG9qwsHSt2ho2kGles5BkYhyEntZqoGqo\/QfKVJtKTd1lLUBwaGif6z+MVs6kN2z7Z95+DgUwGDf0KePz00s\x3d', ld:, 2, 1, ,, 0 , s:'widget', id:'http:\/\/www.techrepublic.com\/blog\/australia\/fetching-64-bit-mozilla-builds-for-linux\/287', is:0}; 1 window'__P1_XP' = {"UC":true, "UH":true}; window.__GOOGLEAPIS = {googleapis: {versions: {pos: 'v1'}}};window'__P1_BASEURL' = 'https://plusone.google.com/'; window'__P1_LOCALE' = 'en_GB'; var _DumpException = function(e) { e'errsource' = e'errsource' || 'api_widget'; throw e; } window'___jsl' = window'___jsl' || {}; window'___jsl''ci' = {"gwidget":{"parsetags":"explicit", "superbatch":false}, "iframes":{"sharebox":{"params":{"json":"&"}, "url":":socialhost:/:session_prefix:_/sharebox/dialog"}, "plus":{"url":":socialhost:/:session_prefix:_/pages/badge"}, ":socialhost:":"https://plusone.google.com", "plusone_m":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}, "card":{"params":{"style":"#", "userid":"&"}, "url":":socialhost:/:session_prefix:_/hovercard/internalcard"}, "plusone":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}}, "googleapis.config":{"methods":{"pos.plusones.list":true, "chili.people.list":true, "pos.plusones.get":true, "chili.people.get":true, "pos.plusones.insert":true, "pos.plusones.delete":true, "chili.activities.list":true, "chili.activities.get":true, "pos.plusones.getSignupState":true, "chili.activities.search":true}, "requestCache":{"enabled":true}, "versions":{"chili":"v1", "pos":"v1"}, "rpc":"/rpc", "root":"https://www.googleapis.com", "root-1p":"https://clients6.google.com", "sessionCache":{"enabled":true}, "transport":{"isProxyShared":true}, "xd3":"/static/proxy.html", "developerKey":"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ", "auth":{"useInterimAuth":false}}};var params = {};params'height' = 24.0 ;iframes.ready(params, {'canAutoClose': function() {var f = window'__CAN_AUTOCLOSE_BUBBLE'; return f ? f() : true;}});

window.__SSR = {c: 1.0, at:'AEIZW7QA\/ehGTQ1zoq\/VWNXexgcyzbET2yWIG9qwsHSt2ho2kGles5BkYhyEntZqoGqo\/QfKVJtKTd1lLUBwaGif6z+MVs6kN2z7Z95+DgUwGDf0KePz00s\x3d', ld:, 2, 1, ,, 0 , s:'widget', id:'http:\/\/www.techrepublic.com\/blog\/australia\/fetching-64-bit-mozilla-builds-for-linux\/287', is:0}; 1 window'__P1_XP' = {"UC":true, "UH":true}; window.__GOOGLEAPIS = {googleapis: {versions: {pos: 'v1'}}};window'__P1_BASEURL' = 'https://plusone.google.com/'; window'__P1_LOCALE' = 'en_GB'; var _DumpException = function(e) { e'errsource' = e'errsource' || 'api_widget'; throw e; } window'___jsl' = window'___jsl' || {}; window'___jsl''ci' = {"gwidget":{"parsetags":"explicit", "superbatch":false}, "iframes":{"sharebox":{"params":{"json":"&"}, "url":":socialhost:/:session_prefix:_/sharebox/dialog"}, "plus":{"url":":socialhost:/:session_prefix:_/pages/badge"}, ":socialhost:":"https://plusone.google.com", "plusone_m":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}, "card":{"params":{"style":"#", "userid":"&"}, "url":":socialhost:/:session_prefix:_/hovercard/internalcard"}, "plusone":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}}, "googleapis.config":{"methods":{"pos.plusones.list":true, "chili.people.list":true, "pos.plusones.get":true, "chili.people.get":true, "pos.plusones.insert":true, "pos.plusones.delete":true, "chili.activities.list":true, "chili.activities.get":true, "pos.plusones.getSignupState":true, "chili.activities.search":true}, "requestCache":{"enabled":true}, "versions":{"chili":"v1", "pos":"v1"}, "rpc":"/rpc", "root":"https://www.googleapis.com", "root-1p":"https://clients6.google.com", "sessionCache":{"enabled":true}, "transport":{"isProxyShared":true}, "xd3":"/static/proxy.html", "developerKey":"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ", "auth":{"useInterimAuth":false}}};var params = {};params'height' = 24.0 ;iframes.ready(params, {'canAutoClose': function() {var f = window'__CAN_AUTOCLOSE_BUBBLE'; return f ? f() : true;}});

window.__SSR = {c: 1.0, at:'AEIZW7QA\/ehGTQ1zoq\/VWNXexgcyzbET2yWIG9qwsHSt2ho2kGles5BkYhyEntZqoGqo\/QfKVJtKTd1lLUBwaGif6z+MVs6kN2z7Z95+DgUwGDf0KePz00s\x3d', ld:, 2, 1, ,, 0 , s:'widget', id:'http:\/\/www.techrepublic.com\/blog\/australia\/fetching-64-bit-mozilla-builds-for-linux\/287', is:0}; 1 window'__P1_XP' = {"UC":true, "UH":true}; window.__GOOGLEAPIS = {googleapis: {versions: {pos: 'v1'}}};window'__P1_BASEURL' = 'https://plusone.google.com/'; window'__P1_LOCALE' = 'en_GB'; var _DumpException = function(e) { e'errsource' = e'errsource' || 'api_widget'; throw e; } window'___jsl' = window'___jsl' || {}; window'___jsl''ci' = {"gwidget":{"parsetags":"explicit", "superbatch":false}, "iframes":{"sharebox":{"params":{"json":"&"}, "url":":socialhost:/:session_prefix:_/sharebox/dialog"}, "plus":{"url":":socialhost:/:session_prefix:_/pages/badge"}, ":socialhost:":"https://plusone.google.com", "plusone_m":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}, "card":{"params":{"style":"#", "userid":"&"}, "url":":socialhost:/:session_prefix:_/hovercard/internalcard"}, "plusone":{"params":{"count":"", "url":"", "size":""}, "url":":socialhost:/:session_prefix:_/+1/fastbutton"}}, "googleapis.config":{"methods":{"pos.plusones.list":true, "chili.people.list":true, "pos.plusones.get":true, "chili.people.get":true, "pos.plusones.insert":true, "pos.plusones.delete":true, "chili.activities.list":true, "chili.activities.get":true, "pos.plusones.getSignupState":true, "chili.activities.search":true}, "requestCache":{"enabled":true}, "versions":{"chili":"v1", "pos":"v1"}, "rpc":"/rpc", "root":"https://www.googleapis.com", "root-1p":"https://clients6.google.com", "sessionCache":{"enabled":true}, "transport":{"isProxyShared":true}, "xd3":"/static/proxy.html", "developerKey":"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ", "auth":{"useInterimAuth":false}}};var params = {};params'height' = 24.0 ;iframes.ready(params, {'canAutoClose': function() {var f = window'__CAN_AUTOCLOSE_BUBBLE'; return f ? f() : true;}});

Het is rommelig maar komt op slechts negen regels.

Kijk echter dichterbij en u zult zien dat het twee andere JavaScript-bibliotheken aanroept - deze bestanden klokken in op 333 en 128 regels elk. Dat zijn ongeveer 500 regels geminimaliseerde JavaScript om een ​​enkele knop weer te geven.

Afhankelijk van de structuur van de feed van een site, kan ik in de uitgebreide weergave maximaal zes artikelen op het scherm krijgen - dat zijn 3000 regels JavaScript om alleen de + 1-knoppen weer te geven, dit staat bovenop het JavaScript dat wordt gebruikt om Google te besturen Reader zelf.

Voor een bedrijf dat is bedoeld om het gebruik van JavaScript als een eersteklas taal op internet en daarbuiten te evangeliseren, is het een flinke klap in het gezicht.

Het is direct vanwege dit geheugengebruik dat ik de afgelopen weken systeemcrashes heb gehad. Het starten van een virtuele machine zou niet het begin moeten zijn van een snel verkrappende dodenspiraal die wordt veroorzaakt doordat de host- en gastbesturingssystemen vechten om het weinige geheugen dat overblijft wanneer Google Reader al lange tijd open is.

Tot dusverre heb ik gewezen op de problemen met Firefox, vooral omdat het mijn primaire browser is, maar in een test van bugreplicatie was ik ook in staat om Chrome het beschikbare geheugen te laten kauwen door eenvoudig RSS-feeds te lezen. Ik zal Chrome de eer geven om veel grondiger en agressiever te zijn dan Firefox in zijn procedures voor het opschonen van geheugen; het kostte Chrome meer tijd om de toppen van Firefox te bereiken, maar desondanks deed het het wel.

Het oplossen van het geheugengebruik in Chrome was net zo eenvoudig als het sluiten van het tabblad Reader en het opnieuw openen, dankzij de tab-per-proces-architectuur van Chrome kan het zichzelf veel beter opruimen dan het enkele proces dat Firefox kan. Maar dit is verre van een gebruikersgerichte oplossing - waarom zou de Jane-gebruiker haar Reader-tabblad moeten sluiten om een ​​applicatie te starten die veel geheugen vereist? Het is gewoon niet acceptabel als het web het applicatieplatform van de toekomst wordt.

De schuld hiervoor ligt dus niet bij de browsers, maar bij de extra JavaScript die is toegevoegd in het herontwerp van Google Reader.

Hoewel Reader de grootste dader is in de Google-stal van sites, moet u nadenken over enkele van de andere daders in geheugengebruik.

Google Analytics heeft een nieuwe look die gebruikmaakt van Flash om een ​​nuttige realtime visualisatie van inkomend verkeer te tonen. Helaas zorgt Analytics ervoor dat Analytics een halve gigabyte geheugen benadert. En Google+ zelf ontbreekt niet aan geheugenverzoeken, evenmin als Gmail of Google Documenten, alle drie hangen constant tussen 30 tot 50 megabytes elk.

Houd er rekening mee dat Google een bedrijf is dat de Chromebook pusht, de versie van de netbook-vormfactor. Een snelle blik op de modelspecificaties laat zien dat Chromebooks momenteel 2 gigabyte geheugen bieden. Dus als een gebruiker RSS doorbladert, een paar documenten opmaakt, e-mail controleert en misschien zelfs kijkt naar hun site-analyses zoals Google dat van plan is - het laat niet veel geheugen over voor de browser zelf of voor Angry Birds of andere flash games om passen in.

De v8-engine kan bliksemsnel zijn, maar het uitvoeren van de tragere Atom-processor in een Chromebook met geheugen beperkt tot 2 gigabyte zou geen prettige ervaring zijn.

Dit is de reden waarom Google extra gericht moet zijn op het optimaliseren en verminderen van de overheadkosten die zijn sites met zich meebrengen. Als een gebruiker met een Core i5-laptop problemen heeft met de prestaties, hoe moet het dan zijn voor degenen die een duik met de Chromebook hebben genomen?

De beste inkapseling van Google's nieuw gevonden liefde voor JavaScript-verbosity moet in het JavaScript-gecompileerde Hello World-voorbeeld van Dart liggen, dat iets meer dan 17.000 coderegels weegt. De opmerkingen bij dat voorbeeld vatten het sentiment met betrekking tot Dart veel beter samen dan woorden.

Simpelweg omdat Google de snelste JavaScript-engine op de markt produceert, betekent dit niet dat het moet proberen elke milliseconde aan prestaties uit zijn JavaScript-website te halen: niet alleen voor gebruikers van Chrome, maar ook voor de meeste gebruikers die Chrome niet gebruiken en lijden een groter verlies wanneer JavaScript van Google roekeloos wordt met geheugen. Het browsellandschap is een complexer scenario dan besluiten om de snelste browser te gebruiken - als dit waar zou zijn, zouden we allemaal in de vroege 2000s naar Opera zijn overgestapt.

Er is maar zo lang dat een verkoper een sneller platform kan gebruiken om de nadelen van een toename van software-opgeblazenheid te overtreffen - Microsoft sloeg de hoek om met Windows 7, Google zou er goed aan doen om van die les te leren terwijl het platform nog in ontwikkeling is.

© Copyright 2020 | mobilegn.com