Abstract
We present ACDC-JS, an open-source JavaScript memory management benchmarking tool. ACDC-JS incorporates a heap model based on real web applications and may be configured to expose virtually any relevant performance characteristics of JavaScript memory management systems. ACDC-JS is based on ACDC, a benchmarking tool for C/C++ that models periodic allocation and deallocation behavior (AC) as well as persistent memory (DC). We identify important characteristics of JavaScript mutator behavior and propose a configurable heap model based on typical distributions of these characteristics as foundation for ACDC-JS. We describe heap analyses of 13 real web applications extending existing work on JavaScript behavior analysis. Our experimental results show that ACDC-JS enables performance benchmarking and debugging of state-of-the-art JavaScript virtual machines such as V8 and SpiderMonkey by exposing key aspects of their memory management performance.
- Are We Fast Yet?, 2014. URL https://github.com/haytjes/arewefastyet.Google Scholar
- Date.now, 2014. URL https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now.Google Scholar
- Chrome DevTools, 2014. URL https://developers.google.com/chrome-developer-tools.Google Scholar
- Kraken, 2014. URL https://wiki.mozilla.org/Kraken.Google Scholar
- Octane 2.0, 2014. URL https://developers.google.com/octane.Google Scholar
- }PerfMeasurementPerfMeasurement.jsm, 2014\natexlaba. URL https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/PerfMeasurement.jsm.Google Scholar
- }PerfNowPerformance.now, 2014\natexlabb. URL https://developer.mozilla.org/en-US/docs/Web/API/Performance.now().Google Scholar
- SeleniumHQ Browser Automation, 2014. URL http://docs.seleniumhq.org.Google Scholar
- SunSpider 1.0.2 JavaScript benchmark, 2014. URL http://www.webkit.org/perf/sunspider/sunspider.html.Google Scholar
- Web Workers, 2014. URL http://dev.w3.org/html5/workers.Google Scholar
- M. Aigner and C. M. Kirsch. ACDC: Towards a Universal Mutator for Benchmarking Heap Management Systems. In phProceedings of the 2013 International Symposium on Memory Management, ISMM '13, pages 75--84. ACM, 2013. Google Scholar
Digital Library
- VanDrunen, von Dincklage, and Wiedermann}Blackburn2006S. M. Blackburn, R. Garner, C. Hoffmann, A. M. Khang, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar, D. Stefanović, T. VanDrunen, D. von Dincklage, and B. Wiedermann. The DaCapo Benchmarks: Java Benchmarking Development and Analysis. In phProceedings of the 21st Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications, OOPSLA '06, pages 169--190, New York, NY, USA, 2006. ACM. Google Scholar
Digital Library
- B. Livshits, P. Ratanaworabhan, D. Simmons, and B. G. Zorn. JSMeter: Characterizing Real-World Behavior of JavaScript Programs. Technical report, Microsoft Research, 2009.Google Scholar
- P. Ratanaworabhan, B. Livshits, and B. G. Zorn. JSMeter: Comparing the Behavior of JavaScript Benchmarks with Real Web Applications. In phProceedings of the 2010 USENIX Conference on Web Application Development, WebApps'10. USENIX Association, 2010. Google Scholar
Digital Library
- G. Richards, S. Lebresne, B. Burg, and J. Vitek. An Analysis of the Dynamic Behavior of JavaScript Programs. In phProceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '10, pages 1--12. ACM, 2010. Google Scholar
Digital Library
- Richards, Gal, Eich, and Vitek}Richards2011G. Richards, A. Gal, B. Eich, and J. Vitek. Automated Construction of JavaScript Benchmarks. In phProceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA '11, pages 677--694. ACM, 2011\natexlaba. Google Scholar
Digital Library
- Richards, Hammer, Burg, and Vitek}Richards2011--2G. Richards, C. Hammer, B. Burg, and J. Vitek. The Eval That Men Do: A Large-scale Study of the Use of Eval in Javascript Applications. In phProceedings of the 25th European Conference on Object-oriented Programming, ECOOP'11, pages 52--78. Springer-Verlag, 2011\natexlabb. Google Scholar
Digital Library
- B. Zorn and D. Grunwald. Empirical measurements of six allocation-intensive C programs. phSIGPLAN Not., 27 (12): 71--80, Dec. 1992. Google Scholar
Digital Library
Index Terms
ACDC-JS: explorative benchmarking of javascript memory management
Recommendations
ACDC-JS: explorative benchmarking of javascript memory management
DLS '14: Proceedings of the 10th ACM Symposium on Dynamic languagesWe present ACDC-JS, an open-source JavaScript memory management benchmarking tool. ACDC-JS incorporates a heap model based on real web applications and may be configured to expose virtually any relevant performance characteristics of JavaScript memory ...
ACDC: towards a universal mutator for benchmarking heap management systems
ISMM '13: Proceedings of the 2013 international symposium on memory managementWe present ACDC, an open-source benchmark that may be configured to emulate explicit single- and multi-threaded memory allocation, sharing, access, and deallocation behavior to expose virtually any relevant allocator performance differences. ACDC mimics ...
SPEC HPG benchmarks for high-performance systems
In this paper, we discuss the results and characteristics of the benchmark suites maintained by the Standard Performance Evaluation Corporation's (SPEC) High-Performance Group (HPG). Currently, SPECHPGhas two lines of benchmark suites for measuring ...







Comments