We're very excited to release Pyston v2, a faster and highly compatible implementation of the Python programming language. Version 2 is 20% faster than stock Python 3.8 on our macrobenchmarks. More importantly, it is likely to be faster on your code. Pyston v2 can reduce server costs, reduce user latencies, and improve developer productivity. Pyston…
In this blog post we would like to explain how V8 handles JavaScript properties internally. From a JavaScript point of view there are only a few distinctions necessary for properties. JavaScript objects mostly behave like dictionaries, with string keys and arbitrary objects as values. The specification does however treat integer-indexed properties and other properties differently during iteration. Other than that, the different properties behave mostly the same, independent of whether they are integer indexed or not.
In this blog post, I would like to introduce the JavaScript Binary AST, an ongoing project that we hope will help make webpages load faster, along with a number of other benefits. A little background Over the years, JavaScript has grown from one of the slowest scripting languages available to a high-performance powerhouse, fast enough that it can run desktop, server, mobile and even embedded applications, whether through web browsers or other environments.
The first post of the series focused on providing an overview of the engine, the runtime and the call stack. This second post will be diving into the internal parts of Google’s V8 JavaScript engine.
V8 is Google’s open source JavaScript engine. Chrome, Node.js, and many other applications use V8. This article explains V8’s bytecode format — which is actually easy to read once you understand some…
T. Proebsting. Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL \textquotesingle95, ACM Press, (1995)
I. Piumarta, and F. Riccardi. Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation - PLDI \textquotesingle98, ACM Press, (1998)
S. Brunthaler. Electronic Notes in Theoretical Computer Science, 253 (5):
3-14(2009)Proceedings of the Fourth Workshop on Bytecode Semantics, Verification, Analysis and Transformation (BYTECODE 2009).
M. Latendresse, and M. Feeley. Proceedings of the 2003 workshop on Interpreters, Virtual Machines and Emulators - IVME \textquotesingle03, ACM Press, (2003)
C. Humer, C. Wimmer, C. Wirth, A. Wöß, and T. Würthinger. Proceedings of the 13th International Conference on Generative Programming: Concepts and Experiences, page 123--132. ACM, (2014)
S. Marr, J. Nicolay, T. Van Cutsem, and T. D'Hondt. Proceedings of the 2nd Workshop on Modularity In Systems Software (MISS'2012), page 21--26. ACM, (March 2012)