Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
mraleph
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
27 ms
·
211.
▲
by
mraleph
14y ago
[disclaimer: I work on Dart VM] Even though Dart VM is not a deployment target for the client side code right now it is still an integral part of the development experience. It runs all your code while you develop (no need to compile to Jav
212.
▲
by
mraleph
14y ago
oh, no. I was not saying that I have such an impression. I sometimes wrongly use "I did not say" as "I don't think" as a habit, literal translation from Russian where it does not have critical connotation. I fixed the comment above.
213.
▲
by
mraleph
14y ago
I don't think you really need to import LLVM to use bytecode, nor do I think that bytecode must look anywhere like say LLVM bitcode. I specifically listed freedom of choice as a bytecode benefit for implementors. You can have bytecode and p
214.
▲
by
mraleph
14y ago
> Why is that important? I don't get it. For various reasons. I believe it can be done, thus because it can be done I don't see why it should not be done. Why keep two front-ends (two parsers even!), two separate IR generators etc in th
215.
▲
by
mraleph
14y ago
> there will be incentive to optimize plain JavaScript I am not that worried about average JavaScript code. I am more concerned about computational cores that people will start rewriting to asm.js. Or here is another question: how do yo
216.
▲
by
mraleph
14y ago
When I say "no strings" I mean JavaScript built-in primitive string values. I will amend the paragraph to make it explicit. It was added because I talked to people who think that just adding "use asm" on top of their node.js module will mak
217.
▲
by
mraleph
14y ago
I am not sure what do you mean. Dart is a dynamically typed language, not a bytecode. Dart's type annotations don't even have any implications on performance and not used for optimizations by either Dart VM or dart2js.
218.
▲
by
mraleph
14y ago
Dart is not statically typed.
219.
▲
by
mraleph
14y ago
ok, the promised blog post is done: https://news.ycombinator.com/item?id=5457168
220.
▲
by
mraleph
14y ago
MIPS port is fully maintained by MIPS people. These days they even have commit rights. You can see full list of people and organizations that contributed to V8 in the AUTHORS file.
221.
▲
by
mraleph
14y ago
Not only typed arrays. Arbitrary reasonable JavaScript code. I would like to see sweet spot grow, not shrink.
222.
▲
by
mraleph
14y ago
I would like to note that I don't work on V8 full time anymore and all opinions that I express on twitter are mine alone and not those of employer, my current or former team. I am writing a blog post that condenses my feeling towards asm.js
223.
▲
by
mraleph
14y ago
There is not much of a bus factor here. I filed Issue 2424 and so let me explain: my fix was a very hackish local way (not the way I'd really like to see it fixed) that just demonstrated how much of the performance can be gained. A generic
224.
▲
by
mraleph
14y ago
I would like to note that I don't work on V8 full time anymore and all opinions that I express on twitter are mine alone and not those of employer, my current or former team. I am writing a blog post that condenses my feeling towards asm.js
225.
▲
by
mraleph
14y ago
This is the response you are looking for: https://groups.google.com/d/msg/v8-users/mV38oWvA2Nk/txtSzVd... [note: Andreas Rossberg is a V8 team member and represents it on TC39]
226.
▲
by
mraleph
14y ago
[disclaimer: I work on Dart VM] Surely Richards and DeltaBlue are not ideal. Honestly I don't think there is such thing as an ideal benchmark. However both Richards and DeltaBlue capture performance aspects of language features that are use
227.
▲
by
mraleph
14y ago
AFAIK the chart does not use any library. It's a simple in-house solution written in Dart.
228.
▲
by
mraleph
14y ago
Let me sketch out my own interpretation of the problem. JavaScript programs lack declarative structure. There is no way to declare a class with a fixed set of fields and methods. Instead JavaScript program creates functions and sets up th
229.
▲
by
mraleph
14y ago
> is there a reason you only run two of the Octane benchmarks As the FAQ states at the very bottom of the page: Porting benchmarks correctly takes time. As more benchmarks become ready, we will publish more charts.
230.
▲
by
mraleph
14y ago
[disclaimer: I'm a member of the Dart project working on the VM] These two benchmarks are publicly tracked at http://www.dartlang.org/performance/ Dart VM is used to provide smooth developer experience and can operate standalone on the se
231.
▲
by
mraleph
14y ago
My point is: you don't have to worry in Dart either. If the code you are shipping is suffering due to the lack of OSR and you have to work around that --- just add an example to the bug and we will fix it.
232.
▲
by
mraleph
14y ago
> very useful nasty parts: on-stack replacement (OSR) ... > Generally, this doesn't matter much, but there are some cases where it's really inconvenient. If you have a real world application [not a microbenchmark] that suffers from
233.
▲
by
mraleph
14y ago
Strictly speaking JavaScript 1.7 is Mozilla's own programming language. V8 does not implement it, instead it implements ECMAScript as described in the ECMA-262 standard. Latest edition of ECMA-262 is 5th and it is fully supported by V8. Now
234.
▲
by
mraleph
14y ago
[disclaimer: I work on the Dart VM] Dart is actually not statically typed: in production mode (which is default) type annotations are ignored completely, in checked mode they are translated to runtime type guards and not checked globally
235.
▲
by
mraleph
14y ago
> SpiderMonkey wins on some computation workloads If the difference is huge then it'll be appreciated if you take those workloads and file bugs based on them.
236.
▲
by
mraleph
14y ago
You might be surprised but V8 these days is pretty close to LJ2 performance. LJ2 does amazingly good job on loopy code but is easily outperformed by V8 on OOPy polymorphic one: e.g. DeltaBlue benchmark ported to Lua was something like 5-10
237.
▲
by
mraleph
14y ago
The article you are linking to is about LLInt --- JavaScriptCore's interpreter. V8 does not have an interpreter. Lithium is V8's (low level) intermediate representation.
238.
▲
by
mraleph
14y ago
Not anymore, V8 team is now mostly located in Munich.
239.
▲
by
mraleph
14y ago
Unfortunately (as you probably know yourself) I don't have a magical answer that would speed everything up. As for V8 there is quite a number of limits that you might be hitting with generated code (e.g. number of locals, size of the functi
240.
▲
by
mraleph
14y ago
Hot currently is defined as "function called more than X times" and "function contains a loop that took a backedge more than Y times". So it is defined per-function basis. I can hardly speculate how V8 will behave on some abstract applicati
More ›