JSCore: architectural support for accelerating JavaScript execution (short WIP paper)

Gaurav Chadha
{"title":"JSCore: architectural support for accelerating JavaScript execution (short WIP paper)","authors":"Gaurav Chadha","doi":"10.1145/3211332.3211343","DOIUrl":null,"url":null,"abstract":"JavaScript has seen meteoric growth in popularity as it has in- creasingly become the language of choice for developers, both for front-end web development and server code development through various JavaScript frameworks and Node.js. Part of the reason for its wide use is that it is a prototype based language with dynamic types, making it easy to learn and program in. This flexibility and ease of programming comes at the cost of performance. There are two sources of significant slowdown. First, since the number and type of properties of prototypes is dynamic, accessing a property involves a slow dictionary lookup, as opposed to it being present at a fixed offset from the base address. Second, the dynamism in type of values necessitates wrapping and unwrapping of values into objects with a variety of checks including for type of the value. To mitigate these performance problems, this paper proposes JSCore, a core specialized for JavaScript execution, that vastly reduces the performance degradation due to the above two causes. It uses a hardware lookup table to accelerate property access, and extends the data path to store data types with the data, nearly eliminating the second source of slowdown. Combining the two, JSCore accelerates real world JavaScript applications by 23%.","PeriodicalId":258348,"journal":{"name":"Proceedings of the 19th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems","volume":"60 4","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-06-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 19th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3211332.3211343","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

JavaScript has seen meteoric growth in popularity as it has in- creasingly become the language of choice for developers, both for front-end web development and server code development through various JavaScript frameworks and Node.js. Part of the reason for its wide use is that it is a prototype based language with dynamic types, making it easy to learn and program in. This flexibility and ease of programming comes at the cost of performance. There are two sources of significant slowdown. First, since the number and type of properties of prototypes is dynamic, accessing a property involves a slow dictionary lookup, as opposed to it being present at a fixed offset from the base address. Second, the dynamism in type of values necessitates wrapping and unwrapping of values into objects with a variety of checks including for type of the value. To mitigate these performance problems, this paper proposes JSCore, a core specialized for JavaScript execution, that vastly reduces the performance degradation due to the above two causes. It uses a hardware lookup table to accelerate property access, and extends the data path to store data types with the data, nearly eliminating the second source of slowdown. Combining the two, JSCore accelerates real world JavaScript applications by 23%.
JSCore:加速JavaScript执行的架构支持(短WIP论文)
随着JavaScript越来越多地成为开发人员的首选语言,无论是前端web开发还是通过各种JavaScript框架和Node.js进行服务器代码开发,JavaScript的受欢迎程度都在迅速增长。它被广泛使用的部分原因是它是一种基于原型的语言,具有动态类型,使其易于学习和编程。这种编程的灵活性和易用性是以性能为代价的。经济显著放缓有两个原因。首先,由于原型的属性的数量和类型是动态的,访问属性涉及到缓慢的字典查找,而不是在基址的固定偏移位置。其次,值类型的动态性要求对值进行包装和解包装,并对对象进行各种检查,包括对值类型的检查。为了缓解这些性能问题,本文提出了JSCore,这是一个专门用于JavaScript执行的核心,它极大地减少了由上述两个原因导致的性能下降。它使用硬件查找表来加速属性访问,并扩展数据路径来存储数据类型,几乎消除了第二个导致速度下降的原因。结合这两者,JSCore可以将真实世界的JavaScript应用程序加速23%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信