Abstract
This paper describes some basic experiments to see how fast various popular scripting and user-interface languages run on a spectrum of representative tasks. We found enormous variation in performance, depending on many factors, some uncontrollable and even unknowable. There seems to be little hope of predicting performance in other than a most general way; if there is a single clear conclusion, it is that no benchmark result should ever be taken at face value. A few general principles hold: • Compiled code usually runs faster than interpreted code: the more a program has been 'compiled' before it is executed, the faster it will run. • Memory-related issues and the effects of memory hierarchies are pervasive: how memory is managed, from hardware caches to garbage collection, can change runtimes dramatically. Yet users have no direct control over most aspects of memory management. • The timing services provided by programs and operating systems are woefully inadequate. It is difficult to measure runtimes reliably and repeatably even for small, purely computational kernels, and it becomes significantly harder when a program does much I/O or graphics. Although each language shines in some situations, there are visible and sometimes surprising deficiencies even in what should be mainstream applications. We encountered more than a few bugs, size limitations, maladroit features, and total mysteries.
| Original language | English (US) |
|---|---|
| Pages (from-to) | 819-843 |
| Number of pages | 25 |
| Journal | Software - Practice and Experience |
| Volume | 28 |
| Issue number | 8 |
| DOIs | |
| State | Published - Jul 10 1998 |
| Externally published | Yes |
All Science Journal Classification (ASJC) codes
- Software
Keywords
- Benchmarking
- Performance evaluation
- Scripting languages
Fingerprint
Dive into the research topics of 'Timing trials, or the trials of timing: Experiments with scripting and user-interface languages'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver