We root cause the reason and provide guidance on selecting samples for PGO in improving PWA real-world performance. We also identify 10% cases are not affected by both benchmark and Office Online PGO. Even though there’s 1.6% regression by using Speedometer 2.0 profile comparing Office Online profile, this benchmark profile still can contribute 80% PGO gain. Performance Analysis of Office Online Profile and Benchmark Profiles: Using Office Online workloads and collected profiles we conduct performance analysis on PGO over 52 subcases, comparing performance gain between benchmark, Office Online and merged profiles.Tackle PGO over Multi-process and Multi-threads Application: We identify ways to collect precise profiles when running Office Online over multiple browser tabs with 100+ browser processes and get rid of profiles that are not critical to performance.We design metrics to measure user experience, load time and user task response time. Developed world first Office Online Workload: We develop a benchmarking infrastructure and a local cache server to run real-life user scenarios over all four Office Online products including Outlook, Work, Excel and PowerPoint.Normally applications will collect profile data from benchmarks which will improve the benchmark performance dramatically, without guaranteeing the impact to the real-life performance.Ĭontributions: This paper makes the following contributions. The caveat, however, is that the sample of data fed to the program during the profiling stage must be statistically representative of the typical usage scenarios otherwise, profile-guided feedback has the potential to harm the overall performance of the final build instead of improving it 3. It collects profile data from a sample run of the program across a representative input set. PGO is a widely used compiler optimization technique that uses profiling to improve application runtime performance. Therefore, it’s necessary for us to design a new Microsoft Office Online PWA Workload, as a real-world productivity web applications workload, to help us to understand those representative usage scenarios and to find performance bottlenecks. There are existing workloads, e.g., WebXPRT 2, which can measure task completion performance inside a web page, but they only perform designed tasks instead of real-world tasks. Take an example, LightHouse* 1 is a tool built for measuring web page performance and PWA readiness, it can report several page-loading performance metrics and a checklist of PWA readiness, but it doesn’t measure task completion performance inside a web page. Therefore, we must design a new Microsoft Office Online PWA Workload to be able to perform the measurement. Traditional performance metrics for web pages don’t work for web applications anymore. Web applications, e.g., Microsoft Office Online applications, are often designed as a Single Page Application (SPA), there is no page navigation in the entire life cycle of the SPA, there are resources loaded and unloaded dynamically which led to massive change in the same web page, there is heavy JavaScript* computation demand. It is different to measure the performance of PWA / vanilla web application, comparing to measuring the performance of a web site. Part of the Microsoft Office Online applications are already PWAs and gained a great number of users. It also ships with Office Online, which is the web version of each software application in the suite, providing seamless online experience to the native counterpart. Microsoft* Office is the most popular productivity software application suite in the world. We identify the causes of the unaffected and degraded cases and proposed a more effective way in profile selection when applying PGO to improve real-life performance. We find while the overall performance gain of Office365 profile is 1.6% better than using Speedometer2 benchmark profile, 90% of subcases are beneficial from PGO by both profiles, 10% unaffected, and 13% are degraded. Then we apply Profile Guided Optimization (PGO) on the Office Online workload in Chrome* build process and compare the performance gain from benchmark profiles (Speedometer2 and others). In this paper, we will firstly introduce how we measure the performance of one vital real-world PWA - Office Online and make the metrics reproducible and reliable. Progressive Web Applications (PWAs) are a set of modern web standards that enhance web applications with modern application features, like being installed as a desktop or home-screen icon, working with poor network or even completely offline, and sending push notification to end users. The World Wide Web was invented for interlinked document, and over the years it evolves into an application platform which can be accessed via a web browser. Authors: Yolanda Chen, Kaining Yuan, IntelĬo-Authors: Yi Zhang, Daoming Qiu, and Lei Shi, Intel
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |