4 ms·
V8 is very impressive. It is one of the fastest virtual machines for dynamic languages. Look where it scores on the shootout. http://shootout.alioth.debian.org
by rbranson 17y ago
V8 is very impressive. It is one of the fastest virtual machines for dynamic languages. Look where it scores on the shootout.
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=all&box=1 http://shootout.alioth.debian.org/u32/benchmark.php?test=all...
It is nearly 10x faster than Ruby 1.8 and 5x faster than CPython. Of the shootout, it is the fastest dynamically typed language other than LuaJIT.
- swolchok 17y agoThat surprises me. Doesn't LuaJIT simply spit out subroutine-threaded code?
- jrockway 17y agoUh, SBCL is dynamically-typed.
- mhd 17y agoWell, the shootout entries generally blur the line, using lots of type declarations.
- bad_user 17y agoThe SBCL tests submitted to the shootout are using type annotations heavily. In that test it doesn't count as a dynamic-typed language.
- jrockway 17y agoSo is C dynamically typed when it converts an integer to a pointer?
- bad_user 17y agoNo, that's called loosely typed. Having type annotations is a big deal because you can infer certain things at compile time. Take for instance (+ x y). In CLisp "+" is a multi-method, the dispatch being done at runtime, but if you know that x and y are both integers, there's no need to search the right method to call at runtime, its address is already known. And then you can also decide to inline its code at compile-time if there aren't any conflicts (mostly like a macro, but without the laziness). Of course, in dynamically-typed languages you have the freedom to infer these things at runtime, in certain situations you can infer the types of "x" and "y", you can use a cache for the call sites, and so on, but it's a lot more complicated, and one of the reasons is that for every optimization you do, you have to be ready to de-optimize when the assumptions have been invalidated. That's why I said SBCL doesn't count as being dynamic in that test because it probably makes full use of those static annotations.
- igouy 17y ago> the fastest dynamically typed language other than You could select just those languages... http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=all&d=data&calc=calculate&luajit=on&v8=on&hipe=on&mzscheme=on&vw=on&lua=on&jruby=on&tracemonkey=on&yarv=on&python=on&python3=on&php=on&perl=on&ruby=on&box=1 http://shootout.alioth.debian.org/u32/benchmark.php?test=all...