Performance Issues and Optimizations in JavaScript: An Empirical Study

As JavaScript is becoming increasingly popular, the performance of JavaScript programs is crucial to ensure the responsiveness and energy-efficiency of thousands of pro- grams. Yet, little is known about performance issues that developers face in practice and they address these issues. This paper pr...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Proceedings / International Conference on Software Engineering s. 61 - 72
Hlavní autoři: Selakovic, Marija, Pradel, Michael
Médium: Konferenční příspěvek
Jazyk:angličtina
Vydáno: ACM 01.05.2016
Témata:
ISSN:1558-1225
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Abstract As JavaScript is becoming increasingly popular, the performance of JavaScript programs is crucial to ensure the responsiveness and energy-efficiency of thousands of pro- grams. 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 is- sues 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.
AbstractList As JavaScript is becoming increasingly popular, the performance of JavaScript programs is crucial to ensure the responsiveness and energy-efficiency of thousands of pro- grams. 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 is- sues 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.
Author Pradel, Michael
Selakovic, Marija
Author_xml – sequence: 1
  givenname: Marija
  surname: Selakovic
  fullname: Selakovic, Marija
  email: m.selakovic89@gmail.com
  organization: Dept. of Comput. Sci., Tech. Univ. Darmstadt, Darmstadt, Germany
– sequence: 2
  givenname: Michael
  surname: Pradel
  fullname: Pradel, Michael
  email: michael@binaervarianz.de
  organization: Dept. of Comput. Sci., Tech. Univ. Darmstadt, Darmstadt, Germany
BookMark eNotj81KAzEURqMo2NauXbjJC0zNzc9M4q6UViuFCtV1uZNJINJJh2Qq1KfviK4O3-Z8nDG5icfoCHkANgOQ6olrLSsNs19qbq7I1AxTKiaEYQyuyQiU0gVwru7IOOcvxlgpjRmR1btL_phajNbRdc4nlynGhm67PrThB_twjJmGSN_wG3c2ha5_pvNIl20XUrB4oLv-1Jzvya3HQ3bTf07I52r5sXgtNtuX9WK-KXC47gtegwdVg7VOaywbC4pxI4AjVmVTGy-lESiYU8xXfkhgHFzlhWfeAygrJuTxzxucc_suhRbTeV9pXWrDxQX9cUyA
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IH
CBEJK
RIE
RIO
DOI 10.1145/2884781.2884829
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan (POP) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP) 1998-present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9781450339001
145033900X
EISSN 1558-1225
EndPage 72
ExternalDocumentID 7886892
Genre orig-research
GroupedDBID -~X
.4S
.DC
123
23M
29O
5VS
6IE
6IF
6IH
6IK
6IL
6IM
6IN
8US
AAJGR
AAWTH
ABLEC
ADZIZ
AFFNX
ALMA_UNASSIGNED_HOLDINGS
APO
ARCSS
AVWKF
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
EDO
FEDTE
I-F
I07
IEGSK
IJVOP
IPLJI
M43
OCL
RIE
RIL
RIO
RNS
XOL
ID FETCH-LOGICAL-a225t-2b1f15b1cce88a6dc15029312aa76db9f4493a30e50f7f781021e7f3f0ff115c3
IEDL.DBID RIE
ISICitedReferencesCount 97
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000406138600008&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Aug 27 02:07:20 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a225t-2b1f15b1cce88a6dc15029312aa76db9f4493a30e50f7f781021e7f3f0ff115c3
PageCount 12
ParticipantIDs ieee_primary_7886892
PublicationCentury 2000
PublicationDate 2016-May
PublicationDateYYYYMMDD 2016-05-01
PublicationDate_xml – month: 05
  year: 2016
  text: 2016-May
PublicationDecade 2010
PublicationTitle Proceedings / International Conference on Software Engineering
PublicationTitleAbbrev ICSE
PublicationYear 2016
Publisher ACM
Publisher_xml – name: ACM
SSID ssj0006499
Score 2.3218818
Snippet As JavaScript is becoming increasingly popular, the performance of JavaScript programs is crucial to ensure the responsiveness and energy-efficiency of...
SourceID ieee
SourceType Publisher
StartPage 61
SubjectTerms Computer bugs
Computer science
Empirical study
Engines
JavaScript
Libraries
Optimization
Performance issue
Reliability
Servers
Title Performance Issues and Optimizations in JavaScript: An Empirical Study
URI https://ieeexplore.ieee.org/document/7886892
WOSCitedRecordID wos000406138600008&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1La8JAEB6s9NBTH1r6Zg89djXZJPvorRSllGKFPvAmu8kueDCKVaH_vrObqD300lNCICxMMjPfJt83H8CtN9RWkS2oYtbSFN8hahBY09QPoxLKMR7ImJ8vYjCQo5EaNuBuq4Wx1gbyme340_Avv5jlK_-prIvbNS4VFtw9IXil1dpWXY4r1KN74jTrMim9iLLjj9Ljx1_eKaF19A__t-gRtHcaPDLcdpdjaNjyBA43JgykzskW9Ic76j-pvPSILgvyirVguhFZkklJnvVav4UacU8eStKbzidhPAjxVMLvNnz0e--PT7Q2R6AaU3BJmYldnJk4z62Umhc5Ijts3THTWvDCKJemKtFJZLPICYehwGZuhUtc5ByiwDw5hWY5K-0ZEMkMT1KDmxlMziLRxmR4f2Qig9jGKXYOLR-W8byafzGuI3Lx9-VLOEBQwStS4BU0l4uVvYb9fL2cfC1uwkP7AUZlmAI
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1NT8JAEJ0QNNETKhi_3YNHC-12u931ZgwEFZFENNzIbrubcKAQBBL_vbNtBQ9ePLVp0mwy7cy8bd-bB3DjDLWlb1JPUmM8hu-QpxFYe8wNo4qlpTwnY3704n5fjEZyUIHbjRbGGJOTz0zTneb_8tNZsnKfylq4XeNCYsHdiRijfqHW2tRdjmuUw3sCFrWoEE5G2XRH4RDkL_eUvHl0av9b9gAaWxUeGWz6yyFUTHYEtR8bBlJmZR06gy35nxRuekRlKXnFajD9kVmSSUae1Fq95VXijtxnpD2dT_IBIcSRCb8a8N5pDx-6XmmP4ClMwqVHdWCDSAdJYoRQPE0Q22HzDqhSMU-1tIzJUIW-iXwbWwwFtnMT29D61iIOTMJjqGazzJwAEVTzkGnczmB6pqHSOsL7fe1rRDdW0lOou7CM58UEjHEZkbO_L1_DXnf40hv3HvvP57CPEIMXFMELqC4XK3MJu8l6OflcXOUP8BteBJtJ
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Proceedings+%2F+International+Conference+on+Software+Engineering&rft.atitle=Performance+Issues+and+Optimizations+in+JavaScript%3A+An+Empirical+Study&rft.au=Selakovic%2C+Marija&rft.au=Pradel%2C+Michael&rft.date=2016-05-01&rft.pub=ACM&rft.eissn=1558-1225&rft.spage=61&rft.epage=72&rft_id=info:doi/10.1145%2F2884781.2884829&rft.externalDocID=7886892