Selakovic, Marija ; Pradel, Michael (2016)
Performance issues and optimizations in JavaScript: an empirical study.
38th International Conference on Software Engineering. Austin, Texas (14.05.2016-22.05.2016)
doi: 10.1145/2884781.2884829
Konferenzveröffentlichung, Bibliographie
Kurzbeschreibung (Abstract)
As JavaScript is becoming increasingly popular, the performance of JavaScript programs is crucial to ensure the responsiveness and energy-efficiency of thousands of programs. Yet, little is known about performance issues that developers face in practice and they address these issues. This paper presents an empirical study of 98 fixed performance issues from 16 popular client-side and server-side JavaScript projects. We identify eight root causes of issues and show that inefficient usage of APIs is the most prevalent root cause. Furthermore, we find that most issues are addressed by optimizations that modify only a few lines of code, without significantly affecting the complexity of the source code. By studying the performance impact of optimizations on several versions of the SpiderMonkey and V8 engines, we find that only 42.68% of all optimizations improve performance consistently across all versions of both engines. Finally, we observe that many optimizations are instances of patterns applicable across projects, as evidenced by 139 previously unknown optimization opportunities that we find based on the patterns identified during the study. The results of the study help application developers to avoid common mistakes, researchers to develop performance-related techniques that address relevant problems, and engine developers to address prevalent bottleneck patterns.
Typ des Eintrags: | Konferenzveröffentlichung |
---|---|
Erschienen: | 2016 |
Autor(en): | Selakovic, Marija ; Pradel, Michael |
Art des Eintrags: | Bibliographie |
Titel: | Performance issues and optimizations in JavaScript: an empirical study |
Sprache: | Englisch |
Publikationsjahr: | 14 Mai 2016 |
Verlag: | ACM |
(Heft-)Nummer: | 38 |
Buchtitel: | ICSE '16 Proceedings of the 38th International Conference on Software Engineering |
Veranstaltungstitel: | 38th International Conference on Software Engineering |
Veranstaltungsort: | Austin, Texas |
Veranstaltungsdatum: | 14.05.2016-22.05.2016 |
DOI: | 10.1145/2884781.2884829 |
Kurzbeschreibung (Abstract): | As JavaScript is becoming increasingly popular, the performance of JavaScript programs is crucial to ensure the responsiveness and energy-efficiency of thousands of programs. Yet, little is known about performance issues that developers face in practice and they address these issues. This paper presents an empirical study of 98 fixed performance issues from 16 popular client-side and server-side JavaScript projects. We identify eight root causes of issues and show that inefficient usage of APIs is the most prevalent root cause. Furthermore, we find that most issues are addressed by optimizations that modify only a few lines of code, without significantly affecting the complexity of the source code. By studying the performance impact of optimizations on several versions of the SpiderMonkey and V8 engines, we find that only 42.68% of all optimizations improve performance consistently across all versions of both engines. Finally, we observe that many optimizations are instances of patterns applicable across projects, as evidenced by 139 previously unknown optimization opportunities that we find based on the patterns identified during the study. The results of the study help application developers to avoid common mistakes, researchers to develop performance-related techniques that address relevant problems, and engine developers to address prevalent bottleneck patterns. |
Freie Schlagworte: | Java, software performance evaluation, API, JavaScript performance, JavaScript programs, SpiderMonkey, V8 engines, Computer bugs, Computer science, Engines, Libraries Optimization, Reliability, Servers, Empirical study, JavaScript, Optimization, Performance issue |
ID-Nummer: | TUD-CS-2016-14765 |
Fachbereich(e)/-gebiet(e): | Profilbereiche Profilbereiche > Cybersicherheit (CYSEC) |
Hinterlegungsdatum: | 10 Aug 2017 16:43 |
Letzte Änderung: | 24 Aug 2023 10:25 |
PPN: | |
Export: | |
Suche nach Titel in: | TUfind oder in Google |
Frage zum Eintrag |
Optionen (nur für Redakteure)
Redaktionelle Details anzeigen |