skip to main content
research-article

What-If Analysis of Page Load Time in Web Browsers Using Causal Profiling

Published:19 June 2019Publication History
Skip Abstract Section

Abstract

Web browsers have become one of the most commonly used applications for desktop and mobile users. Despite recent advances in network speeds and several techniques to speed up web page loading such as speculative loading, smart caching, and multi-threading, browsers still suffer from relatively long page load time (PLT). As web applications are receiving widespread attention owing to their cross-platform support and comparatively straightforward development process, they need to have higher performance to compete with native applications. Recent studies have investigated the bottleneck of the modern web browser's performance and conclude that network connection is not the browser's bottleneck anymore. Even though there is still no consensus on this claim, no subsequent analysis has been conducted to inspect which parts of the browser's computation contribute to the performance overhead. In this paper, we apply comprehensive and quantitative what-if analysis on the web browser's page loading process. Unlike conventional profiling methods, we applycausal profiling to precisely determine the impact of each computation stage such as HTML parsing and Layout on PLT. For this purpose, we develop COZ+, a high-performance causal profiler capable of analyzing large software systems such as the Chromium browser. COZ+ highlights the most influential spots for further optimization, which can be leveraged by browser developers and/or website designers. For instance, COZ+ shows that optimizing JavaScript by 40% is expected to improve the Chromium desktop browser's page loading performance by more than 8.5% under typical network conditions.

References

  1. Brian Anderson, Lars Bergstrom, Manish Goregaokar, Josh Matthews, Keegan McAllister, Jack Moffitt, and Simon Sapin. 2016. Engineering the servo web browser engine using Rust. In Proceedings of the 38th International Conference on Software Engineering Companion. ACM, 81--89.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Catalin-Alexandru Avram, Kenneth Salem, and Bernard Wong. 2014. Latency amplification: Characterizing the impact of web page content on load times. In Reliable Distributed Systems Workshops (SRDSW), 2014 IEEE 33rd International Symposium on. IEEE, 20--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Carmen Badea, Mohammad R Haghighat, Alexandru Nicolau, and Alexander V Veidenbaum. 2010. Towards Parallelizing the Layout Engine of Firefox. In Proc. of the 2nd USENIX Conf. on Hot topics in parallelism. USENIX Assoc., 1--1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Michael Butkiewicz, Harsha V Madhyastha, and Vyas Sekar. 2011. Understanding website complexity: measurements, metrics, and implications. In Proceedings of the 2011 ACM SIGCOMM conference on Internet measurement conference. ACM, 313--328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Calin Cascaval, Seth Fowler, Pablo Montesinos-Ortego, Wayne Piekarski, Mehrdad Reshadi, Behnam Robatmili, Michael Weber, and Vrajesh Bhavsar. 2013. ZOOMM: A Parallel Web Browser Engine for Multicore Mobile Devices. In Proc. of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Prog. (PPoPP '13). ACM, New York, NY, USA, 271--280.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Charlie Curtsinger and Emery D Berger. 2015. COZ: Finding Code that Counts with Causal Profiling. In Proceedings of the 25th Symposium on Operating Systems Principles. ACM, 184--197. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Darin Fisher, Brett Wilson, Ben Goodger, and Arnaud Weber. Multi-process browser architecture. US Patent 8,291,078.Google ScholarGoogle Scholar
  8. Christopher Grant Jones, Rose Liu, Leo Meyerovich, Krste Asanovic, and Rastislav Bodik. 2009. Parallelizing the web browser. In Proceedings of the First USENIX Workshop on Hot Topics in Parallelism . Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Zhichun Li, Ming Zhang, Zhaosheng Zhu, Yan Chen, Albert G Greenberg, and Yi-Min Wang. 2010. WebProphet: Automating Performance Prediction for Web Services.. In NSDI, Vol. 10. 143--158. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Leo A Meyerovich and Rastislav Bodik. 2010a. Fast and parallel webpage layout. In Proceedings of the 19th international conference on World wide web. ACM, 711--720. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Leo A. Meyerovich and Rastislav Bodik. 2010b. Fast and Parallel Webpage Layout. In Proceedings of the 19th International Conference on World Wide Web (WWW '10). ACM, New York, NY, USA, 711--720. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. James Mickens. 2010. Silo: Exploiting JavaScript and DOM Storage for Faster Page Loads.. In WebApps . Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Javad Nejati and Aruna Balasubramanian. 2016. An In-depth study of Mobile Browser Performance. In Proc. of the 25th Intl. Conf. on WWW. Intl. WWW Conf. Steering Committee, 1305--1315. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Ravi Netravali, Ameesh Goyal, James Mickens, and Hari Balakrishnan. 2016. Polaris: Faster Page Loads Using Fine-grained Dependency Tracking.. In NSDI. 123--136.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Sivasankar Radhakrishnan, Yuchung Cheng, Jerry Chu, Arvind Jain, and Barath Raghavan. 2011. TCP fast open. In Proceedings of the Seventh COnference on emerging Networking EXperiments and Technologies. ACM, 21.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Xiao Sophia Wang, Aruna Balasubramanian, Arvind Krishnamurthy, and David Wetherall. 2013. Demystifying Page Load Performance with WProf.. In NSDI. 473--485. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Xiao Sophia Wang, Arvind Krishnamurthy, and David Wetherall. 2016. Speeding up Web Page Loads with Shandian.. In NSDI. 109--122. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Zhen Wang, Felix Xiaozhu Lin, Lin Zhong, and Mansoor Chishtie. 2011. Why Are Web Browsers Slow on Smartphones?. In Proceedings of the 12th Workshop on Mobile Computing Systems and Applications (HotMobile '11). ACM, New York, NY, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Zhen Wang, Felix Xiaozhu Lin, Lin Zhong, and Mansoor Chishtie. 2012. How far can client-only solutions go for mobile browser speed?. In Proceedings of the 21st international conference on World Wide Web. ACM, 31--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Rohit Zambre, Lars Bergstrom, Laleh Aghababaie Beni, and Aparna Chandramowlishwaran. 2016. Parallel Performance-Energy Predictive Modeling of Browsers: Case Study of Servo. In High Performance Computing (HiPC), 2016 IEEE 23rd International Conference on. IEEE, 22--31.Google ScholarGoogle ScholarCross RefCross Ref
  21. Kaimin Zhang, Lu Wang, Aimin Pan, and Bin Benjamin Zhu. 2010. Smart caching for web browsers. In Proceedings of the 19th international conference on World wide web. ACM, 491--500. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Ming Zhang, Yi-Min Wang, Albert Greenberg, and LI Zhichun. Web page load time prediction and simulation. US Patent 8,335,838.Google ScholarGoogle Scholar
  23. Zhijia Zhao, Michael Bebenita, Dave Herman, Jianhua Sun, and Xipeng Shen. 2013. HPar: A practical parallel parser for HTML--taming HTML complexities for parallel parsing. ACM Transactions on Architecture and Code Optimization (TACO), Vol. 10, 4 (2013), 44. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. What-If Analysis of Page Load Time in Web Browsers Using Causal Profiling

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!