Concurrent Java']JavaScript Parsing for Faster Loading of Web Apps

被引:6
|
作者
Park, Hyukwoo [1 ]
Cha, Myungsu [1 ]
Moon, Soo-Mook [1 ]
机构
[1] Seoul Natl Univ, Dept Elect & Comp Engn, Seoul 08826, South Korea
关键词
!text type='Java']Java[!/text]Script; web app; parser; concurrent parsing; web browser; !text type='java']java[!/text]script engine;
D O I
10.1145/3004281
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
JavaScript is a dynamic language mainly used as a client-side web script. Nowadays, web is evolving into an application platform with its web apps, 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 JavaScript parsing. 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 app loading. This article proposes concurrent parsing 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 theWebKit 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.
引用
收藏
页数:24
相关论文
共 50 条
  • [21] Expanding the Frontiers of Web Audio With Autoencoders and Java']JavaScript
    Camara, Mateo
    Luis Blanco, Jose
    JOURNAL OF THE AUDIO ENGINEERING SOCIETY, 2022, 70 (11): : 979 - 989
  • [22] Parallel Java']JavaScript Execution in Web Navigation Sequences
    Losada, Jose
    Raposo, Juan
    Pan, Alberto
    Montoto, Paula
    Alvarez, Manuel
    2015 IEEE/WIC/ACM INTERNATIONAL CONFERENCE ON WEB INTELLIGENCE AND INTELLIGENT AGENT TECHNOLOGY (WI-IAT), VOL 1, 2015, : 284 - 291
  • [23] A Measurement Study of Insecure Java']JavaScript Practices on the Web
    Yue, Chuan
    Wang, Haining
    ACM TRANSACTIONS ON THE WEB, 2013, 7 (02)
  • [24] A Framework for Automated Testing of Java']JavaScript Web Applications
    Artzi, Shay
    Dolby, Julian
    Jensen, Simon Holm
    Moller, Anders
    Tip, Frank
    2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 571 - 580
  • [25] POSTER: Finding Java']JavaScript Name Conflicts on the Web
    Zhang, Mingxue
    Meng, Wei
    Wang, Yi
    PROCEEDINGS OF THE 2019 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS'19), 2019, : 2609 - 2611
  • [26] Designing with java']javascript: Creating dynamic web pages
    DeLoach, S
    TECHNICAL COMMUNICATION, 1999, 46 (03) : 400 - 403
  • [27] A design application using Java']JavaScript for the Web environment
    Yao, XH
    Sullivan, J
    Lakmazaheri, S
    COMPUTING IN CIVIL ENGINEERING, 1998, : 695 - 706
  • [28] Statically Checking Web API Requests in Java']JavaScript
    Wittern, Erik
    Ying, Annie T. T.
    Zheng, Yunhui
    Dolby, Julian
    Laredo, Jim A.
    2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2017, : 244 - 254
  • [29] Detecting and Understanding Java']JavaScript Global Identifier Conflicts on the Web
    Zhang, Mingxue
    Meng, Wei
    PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '20), 2020, : 38 - 49
  • [30] Visual quickstart guide: Java']Javascript for the World Wide Web
    DeLoach, S
    TECHNICAL COMMUNICATION, 1999, 46 (03) : 400 - 403