javascript execution is heavily used during the loading of web apps, taking a substantial portion of the app loading time. To accelerate javascript execution, snapshot-based app loading has been proposed [5, 17]. We t...
详细信息
ISBN:
(纸本)9781450366748
javascript execution is heavily used during the loading of web apps, taking a substantial portion of the app loading time. To accelerate javascript execution, snapshot-based app loading has been proposed [5, 17]. We take a snapshot of the javascript objects in the heap at some point during app loading (which we call snapshot point) and save them in a file in advance. Then, we start app loading by copying the objects in the snapshot to the heap directly, skipping javascript execution to create those objects. One issue is that the javascript execution state at the snapshot point should be the same at every app loading. If javascript execution included in the snapshot is involved with some nondeterminism (e.g., use random function or current time/location), snapshot-based app loading might be inapplicable since the loaded state might differ each time. In this paper, we perform an empirical study for the nondeterministic behavior of web apps during app loading. The result shows that nondeterminism is used frequently, but its impact is small from the user's perspectives. Based on this observation, we propose two techniques that can increase the applicability of snapshot. First, we propose two types of snapshot point, which allows saving as much execution state as possible in the snapshot, just before the nondeterministic execution affects the user's perception. Second, we develop a tool to identify those snapshot points by static and dynamic analysis, so that the developer can easily identify them. Our experimental results show that the techniques can accelerate the app loading by 1.81 times, by applying the snapshot that would otherwise be inapplicable, achieving a performance comparable to that of a snapshot that completely ignores the nondeterminism issues.
The volume of mobile web browsing traffic has significantly increased as well as the complexity of the mobile websites mandating high-performance web page rendering engines to be used on mobile devices. Although there...
详细信息
ISBN:
(纸本)9781450344838
The volume of mobile web browsing traffic has significantly increased as well as the complexity of the mobile websites mandating high-performance web page rendering engines to be used on mobile devices. Although there has been a significant improvement in performance of web page rendering on mobile phones in recent years, the power consumption reduction has not been addressed much. A main contribution of this work is a thread level analysis of the workload generated by Google's Chrome browser on a heterogeneous multi-processing (HMP) platform found in many smartphones. We analyze the detailed traces of the thread workload generated by the web browser, especially the rendering engine, and discuss the power saving potentials in relation to power management policies in Android. Moreover, we propose power management strategies based on the results. All trace data and measurement results have been collected on a real HMP platform integrating the Samsung Exynos5422 SoC, also used in the Samsung Galaxy S5 smartphone. Our work shows that there is a considerable scope for power savings and outlines directions for future research. We believe that it will lead to development of practical power management techniques considering thread allocation, dynamic voltage and frequency scaling (DVFS) and power gating.
Diplomová práca sa zaoberá využitím technológií Blazor a WebAssembly s frameworkom DotVVM. Práca obsahuje fundamentálne informácie a teoretický rozbor webových te...
详细信息
Diplomová práca sa zaoberá využitím technológií Blazor a WebAssembly s frameworkom DotVVM. Práca obsahuje fundamentálne informácie a teoretický rozbor webových tech- nológií a princípov. Tieto technológie sú prerekurzormi technológii WebAssembly, Blazor a DotVVM. Práca sa detailne zameriava na WebAssembly, ktorá umožňuje diverzifiká- ciu na poli klientských webových technológií. V tejto práci sa využíva časť technológie Blazor, konkrétne CLI runtime Mono, ktorý je skompilovaný do WebAssembly formátu a tým umožňuje beh IL kódu v prehliadači. Práca sa zameriava na minimalizáciu po- čtu PostBackov medzi klientom a serverom, ktorá je možná vďaka vyššie spomínanému Mono runtime.
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 inter...
详细信息
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.
This paper, aimed at the practical demand on the application development and deployment, proposes a new hybrid model that combines the advantages of the B/S model and C/S model. It focuses on the implementation of the...
详细信息
ISBN:
(纸本)9781629939254
This paper, aimed at the practical demand on the application development and deployment, proposes a new hybrid model that combines the advantages of the B/S model and C/S model. It focuses on the implementation of the Third-party Service Provider tier and Presentation tier based on the multi-tier architecture with the elaboration of technology selections for this model. The performance optimization is discussed in the end, which utilizes a new javascript engine named V8 in WebKit. The hybrid model achieves a satisfied performance according to the benchmarks and has been applied in the actual project.
暂无评论