c69's Browser Pit

Saturday, June 16

doh! presto 2.11 is beyond opera 12 (and 2.10.292 is, too)
http://www.opera.com/docs/specs/presto2.11/

thus you wont get access to Clipboard API yet, and neither to RFC WebSockets or DOM4 Ranges, yet cry

New extension APIs in Opera 12+

,

http://dev.opera.com/articles/view/new-extension-apis-screenshot-resource-loader-url-filter/

// somehow i did not posted all this stuff in May, compensating now.

vert.x - a faster node.js clone for polyglots ?

,

http://vertx.io/

info: the project got to version 1.0 in May 2012, is sponsored by VMvare, is claimed to be faster than Node.JS, has ability to use other languages (Groovy, Ruby or Java now, Scala and Clojure on TODO list), "scales across your cores automatically", has cluster support and other goodies right out of the box. Also, there is separate project aimed to make Node modules compatible with vert.x

Sounds nice. Time will show, who is better.

their blog (mostly filled with self praise and "why we are better than Node"): http://vertxproject.wordpress.com/

JS engine improvements in IE10

, ,

http://blogs.msdn.com/b/ie/archive/2012/06/13/advances-in-javascript-performance-in-ie10-and-windows-8.aspx

Unlike in other browsers, Chakra’s just-in-time (JIT) compiler runs on a separate dedicated thread and thus does not interfere with script execution.


interesting.

To further reduce the time to first executed instruction, Chakra processes and emits bytecode only for functions that are about to be executed using a mechanism called deferred parsing.


so big 3rd party libraries will not get executed until called.

We enhanced Chakra’s interpreter to collect it at runtime, a technique we call dynamic profiling. When a function is scheduled for JIT compilation, the compiler examines the runtime profile gathered by the interpreter and emits code tailored to the expected inputs.

...
The interpreter gathers information for the runs it observes, but it’s possible that the execution of the program will lead to runtime values which violate assumptions made in the generated optimized code. For every assumption it makes, the compiler emits a runtime check. If a later execution results in an unexpected value, the check fails, execution bails out of the specialized machine code, and is continued in the interpreter. The reason for bailout (the failed check) is recorded, additional profile information is collected by the interpreter, and the function is recompiled with different assumptions. Bailout and re-compilation are two fundamentally new capabilities in IE10.


Just like other modern JIT compilers. Thus, writing type-stable code is essential for apps that need speed. (c) Cap.

Also, there are improvements to GC. Again, like in all other engines in 2011-2012.


Related older post about other jit-compilers: "http://my.opera.com/c69/blog/show.dml/37206612
June 2013
M T W T F S S
May 2013July 2013
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30