Virtualization odern Web applikationer är komplexa nätverk av kod som körs på flera servrar och i klientsidan webbläsare. JavaScript är ett dynamiskt skrivbart objektbaserat skriptspråk där koden sammanställs till bytekodsinstruktioner vid körtid (http://en.wikipedia.org/wiki/ JavaScript). Det låter utvecklare lägga till interaktivitet på klientsidan av ett webbprogram. JavaScript är dock ett tolkat språk, som är långsammare än kompilerade språk, och det kan inte dra nytta av parallella multicore processorer eftersom det är sekventiellt. Vårt mål med det arbete vi presenterar här är att påskynda utförandet på klientsidan. Forskare har föreslagit flera JavaScript optimering tekniker och riktmärken, men de är inte representativa för JavaScript utförande i webbapplikationer. 1-3 Till exempel, den populära just-in-time (JIT) kompileringsteknik - där JavaScript-koden först kompileras sedan körs som infödd kod - minskar körningstiden för JavaScript-riktmärken men ofta ökar exekveringstiden i populära webbprogram. 4 Som ett sekventiellt programmeringsspråk kan JavaScript inte utnyttja den prestandapotential som parallella multicoreprocessorer erbjuder. Många webbapplikationer har potential för betydande parallellism, med hastigheter på upp till 45 gånger jämfört med sekventiell körning. 5 Stöd för parallell körning finns dock inte i någon JavaScript-motor. JavaScript låter utvecklare ge klient-side interaktivitet i webbprogram, men eftersom det är sekventiell, kan det inte dra nytta av multicore processorer. Thread-level spekulation (TLS) tar itu med denna fråga genom att möjliggöra spekulation av JavaScript-funktion samtal och därmed utnyttja de parallella prestanda potentiella multicore processorer ger. Författarna implementerade TLS i Squirrelfish JavaScript-motorn, som är en del av webbläsaren WebKit-miljön. De utvärderar sitt tillvägagångssätt med hjälp av 15 populära webbprogram på en åtta-kärnig dator, och visar betydande upphastigheter utan några ändringar av JavaScript källkod.
Martinsen m.fl. REF implementera och analysera Thread-Level-Speculation för webbläsares JavaScript-motorer för att dra nytta av parallella processorer.
Using speculation to enhance javascript performance in web applications
{'venue': 'IEEE Internet Computing', 'journal': 'IEEE Internet Computing', 'mag_field_of_study': ['Computer Science']}