OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
The structure and performance of interpreters
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
Memory system behavior of Java programs: methodology and analysis
Proceedings of the 2000 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Java Runtime Systems: Characterization and Architectural Implications
IEEE Transactions on Computers
Proceedings of the 2001 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
A Study of the Allocation Behavior of the SPECjvm98 Java Benchmark
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Understanding the Behavior of Java Programs
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Ajax: the definitive guide
Doloto: code splitting for network-bound web 2.0 applications
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Trace-based just-in-time type specialization for dynamic languages
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
An analysis of the dynamic behavior of JavaScript programs
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
An analysis of the dynamic behavior of JavaScript programs
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
GULFSTREAM: staged static analysis for streaming JavaScript applications
WebApps'10 Proceedings of the 2010 USENIX conference on Web application development
A comparative evaluation of JavaScript execution behavior
ICWE'11 Proceedings of the 11th international conference on Web engineering
The eval that men do: A large-scale study of the use of eval in javascript applications
Proceedings of the 25th European conference on Object-oriented programming
Selective just-in-time compilation for client-side mobile javascript engine
CASES '11 Proceedings of the 14th international conference on Compilers, architectures and synthesis for embedded systems
Atlantis: robust, extensible execution environments for web applications
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
Bootstrapping a self-hosted research virtual machine for JavaScript: an experience report
Proceedings of the 7th symposium on Dynamic languages
Da capo con scala: design and analysis of a scala benchmark suite for the java virtual machine
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Automated construction of JavaScript benchmarks
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Scalable quality for web-based games
Proceedings of the 1st ACM SIGPLAN international workshop on Programming language and systems technologies for internet clients
DOHA: scalable real-time web applications through adaptive concurrent execution
Proceedings of the 21st international conference on World Wide Web
Comparative evaluation of javascript frameworks
Proceedings of the 21st international conference companion on World Wide Web
You are what you include: large-scale evaluation of remote javascript inclusions
Proceedings of the 2012 ACM conference on Computer and communications security
Eval begone!: semi-automated removal of eval from javascript programs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
Rewriting javascript module system
Proceedings of the 12th annual international conference companion on Aspect-oriented software development
A measurement study of insecure javascript practices on the web
ACM Transactions on the Web (TWEB)
A comprehensive toolchain for workload characterization across JVM languages
Proceedings of the 11th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering
Practical blended taint analysis for JavaScript
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Jalangi: a selective record-replay and dynamic analysis framework for JavaScript
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
River trail: a path to parallelism in JavaScript
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Characteristics of dynamic JVM languages
Proceedings of the 7th ACM workshop on Virtual machines and intermediate languages
MuscalietJS: rethinking layered dynamic web runtimes
Proceedings of the 10th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Radigost: Interoperable web-based multi-agent platform
Journal of Systems and Software
Hi-index | 0.00 |
JavaScript is widely used in web-based applications and is increasingly popular with developers. So-called browser wars in recent years have focused on JavaScript performance, specifically claiming comparative results based on benchmark suites such as SunSpider and V8. In this paper we evaluate the behavior of JavaScript web applications from commercial web sites and compare this behavior with the benchmarks. We measure two specific areas of JavaScript runtime behavior: 1) functions and code and 2) events and handlers. We find that the benchmarks are not representative of many real web sites and that conclusions reached from measuring the benchmarks may be misleading. Specific common behaviors of real web sites that are underem-phasized in the benchmarks include event-driven execution, instruction mix similarity, cold-code dominance, and the prevalence of short functions. We hope our results will convince the JavaScript community to develop and adopt benchmarks that are more representative of real web applications.