{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,9]],"date-time":"2026-07-09T17:59:43Z","timestamp":1783619983334,"version":"3.55.0"},"reference-count":35,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2016,11,19]],"date-time":"2016-11-19T00:00:00Z","timestamp":1479513600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100003696","name":"Electronics and Telecommunications Research Institute","doi-asserted-by":"crossref","award":["10045344"],"award-info":[{"award-number":["10045344"]}],"id":[{"id":"10.13039\/501100003696","id-type":"DOI","asserted-by":"crossref"}]},{"name":"Institute for Information 8 communications Technology Promotion"},{"name":"Ministry of Trade, Industry 8 Energy"},{"name":"Korea government","award":["R0126-15-1100"],"award-info":[{"award-number":["R0126-15-1100"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2016,12,28]]},"abstract":"<jats:p>\n            <jats:italic>JavaScript<\/jats:italic>\n            is a dynamic language mainly used as a client-side web script. Nowadays, web is evolving into an application platform with its\n            <jats:italic>web apps<\/jats:italic>\n            , and JavaScript increasingly undertakes complex computations and interactive user interfaces, requiring a high-performance JavaScript engine. There have been many optimizations for efficient JavaScript engines, but one component that has not been optimized much is\n            <jats:italic>JavaScript parsing<\/jats:italic>\n            . A JavaScript function needs to be parsed before being executed, and the parsing overhead takes a substantial portion of JavaScript execution time for web apps, especially during\n            <jats:italic>app loading<\/jats:italic>\n            . This article proposes\n            <jats:italic>concurrent parsing<\/jats:italic>\n            of JavaScript, which performs the parsing of JavaScript functions in advance on different threads, while the main thread is executing the parsed JavaScript functions. This can hide the parsing overhead from the main execution thread, reducing the JavaScript execution time, thus reducing the overall app loading time. More specifically, we separated JavaScript parsing and made it run on different threads without violating the execution semantics of JavaScript. We also designed an efficient multi-threaded parsing architecture, which reduces the synchronization overhead and schedules the parsing requests appropriately. Finally, we explored two methods of choosing the target functions for concurrent parsing: one based on profiled information and the other based on speculative heuristics. We performed experiments on the WebKit browser with the JSC engine for real web apps. The result shows that the proposed concurrent parsing can improve the JavaScript performance during app loading by as much as 64% and by 39.7% on average. This improves the whole app loading performance tangibly, by as much as 32.7% and by 18.2%, on average.\n          <\/jats:p>","DOI":"10.1145\/3004281","type":"journal-article","created":{"date-parts":[[2016,11,21]],"date-time":"2016-11-21T14:01:46Z","timestamp":1479736906000},"page":"1-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Concurrent JavaScript Parsing for Faster Loading of Web Apps"],"prefix":"10.1145","volume":"13","author":[{"given":"Hyukwoo","family":"Park","sequence":"first","affiliation":[{"name":"Seoul National University, Seoul, Republic of Korea"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Myungsu","family":"Cha","sequence":"additional","affiliation":[{"name":"Seoul National University, Seoul, Republic of Korea"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Soo-Mook","family":"Moon","sequence":"additional","affiliation":[{"name":"Seoul National University, Seoul, Republic of Korea"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2016,11,19]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Retrieved","year":"2016"},{"key":"e_1_2_1_2_1","volume-title":"Retrieved","author":"Inc.","year":"2011"},{"key":"e_1_2_1_3_1","volume-title":"Retrieved","author":"Inc.","year":"2016"},{"key":"e_1_2_1_4_1","volume-title":"Retrieved","author":"Inc.","year":"2016"},{"key":"e_1_2_1_5_1","volume-title":"Retrieved","author":"Inc.","year":"2016"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 5th International Conference on Software Language Engineering (SLE\u201912)","author":"Barenghi Alessandro","year":"2012"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993508"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2442516.2442543"},{"key":"e_1_2_1_9_1","volume-title":"Retrieved","author":"Chiu Bikin","year":"2009"},{"key":"e_1_2_1_10_1","volume-title":"Ecma International","author":"International ECMA","year":"2015"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542528"},{"key":"e_1_2_1_12_1","volume-title":"Retrieved","author":"Inc.","year":"2016"},{"key":"e_1_2_1_13_1","volume-title":"Retrieved","author":"Inc.","year":"2016"},{"key":"e_1_2_1_14_1","volume-title":"Retrieved","author":"Inc.","year":"2016"},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the Workshop on Parallel Execution of Sequential Programs on Multicore Architectures (PESPMA\u201909)","author":"Ha Jungwoo"},{"key":"e_1_2_1_16_1","volume-title":"Retrieved","author":"Hardkernel Co.","year":"2016"},{"key":"e_1_2_1_17_1","volume-title":"May 25, 2011.","author":"Hickson Ian","year":"2011"},{"key":"e_1_2_1_18_1","volume-title":"August 4","author":"Kacmarcik Gary","year":"2016"},{"key":"e_1_2_1_19_1","volume-title":"Retrieved","author":"Koivisto Antti","year":"2008"},{"key":"e_1_2_1_20_1","first-page":"8","article-title":"Reducing the overhead of dynamic compilation. Software","volume":"31","author":"Krintz Chandra J.","year":"2001","journal-title":"Practice and Experience"},{"key":"e_1_2_1_21_1","volume-title":"Retrieved","author":"Inc LG","year":"2016"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICGRID.2006.311019"},{"key":"e_1_2_1_23_1","volume-title":"Webgl specification","author":"Marrin Chris"},{"key":"e_1_2_1_24_1","volume-title":"Retrieved","year":"2016"},{"key":"e_1_2_1_25_1","volume-title":"Retrieved","year":"2016"},{"key":"e_1_2_1_26_1","volume-title":"Retrieved","year":"2016"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/2738600.2738623"},{"key":"e_1_2_1_28_1","volume-title":"Retrieved","author":"Osmani Addy","year":"2015"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/ESTIMedia.2015.7351768"},{"key":"e_1_2_1_30_1","volume-title":"Retrieved","author":"Pizlo Filip","year":"2014"},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the 2010 USENIX Conference on Web Application Development (WebApps\u201910)","author":"Ratanaworabhan Paruj"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806598"},{"key":"e_1_2_1_33_1","volume-title":"Retrieved","author":"Thompson Seth","year":"2015"},{"key":"e_1_2_1_34_1","volume-title":"Retrieved","year":"2016"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2541228.2555301"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3004281","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3004281","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T19:05:12Z","timestamp":1750273512000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3004281"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,11,19]]},"references-count":35,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2016,12,28]]}},"alternative-id":["10.1145\/3004281"],"URL":"https:\/\/doi.org\/10.1145\/3004281","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"value":"1544-3566","type":"print"},{"value":"1544-3973","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,11,19]]},"assertion":[{"value":"2016-05-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-10-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-11-19","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}