TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Introducing the B3 JIT compiler

213 pointsby basugasubakuover 9 years ago

9 comments

munificentover 9 years ago
Really cool article. Posts like this always make me wonder what the state of the programming would be if browsers hadn't sucked up almost all of the world's compiler optimizers.
评论 #11105313 未加载
评论 #11104270 未加载
评论 #11105106 未加载
评论 #11104957 未加载
评论 #11104859 未加载
cprover 9 years ago
Good to see the Webkit team (mostly Apple) continue putting serious energy into JS performance. Take a bit of guts to throw out the whole LLVM layer in order to get compilation performance...<p>It&#x27;s also encouraging to see them opening up about future directions rather than just popping full-blown features from the head of Zeus every so often. (Not that they owe us anything... ;-)<p>(Edit: it&#x27;s also damned impressive for 2 people in 3-4 months.)
评论 #11104584 未加载
legulereover 9 years ago
tl;dr: B3 will replace LLVM in the FTL JIT of webkit. LLVM isn&#x27;t performing fast enough for JIT mainly because it&#x27;s so memory hungry and misses optimisations that depend on javascript semantics. They got an around 5x compile time reduction and from 0% up to around 10% performance boost in general.
评论 #11105242 未加载
alberthover 9 years ago
&gt;&gt; &quot;tl;dr: B3 will replace LLVM in the FTL JIT of webkit. LLVM isn&#x27;t performing fast enough for JIT mainly because it&#x27;s so memory hungry and misses optimisations that depend on javascript semantics. They got an around 5x compile time reduction and from 0% up to around 10% performance boost in general.&quot; [1]<p>Is this a knock on LLVM then?<p>I wonder then specifically if this brings to light any concerns over Swift (another dynamic language, and was created by the same person who created LLVM as well). [2]<p>Seems weird that the original creator of LLVM was able to make a dynamic language such as Swift - without any problems.<p>[1] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11105231" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11105231</a><p>[2] <a href="http:&#x2F;&#x2F;nondot.org&#x2F;sabre&#x2F;" rel="nofollow">http:&#x2F;&#x2F;nondot.org&#x2F;sabre&#x2F;</a>
评论 #11105742 未加载
评论 #11107226 未加载
评论 #11106848 未加载
评论 #11105617 未加载
评论 #11105677 未加载
jlebarover 9 years ago
It&#x27;s worth noticing that most of the optimizations here are for &quot;space&quot; -- reducing the working set size or the number of memory accesses. CPUs have gotten much faster than memory blah blah. This is the sort of thing where microbenchmarks may mislead you, because you WSS is probably not realistic.<p>I think we don&#x27;t have great tools for helping with this sort of optimization. One can use perf to find cache misses, but that doesn&#x27;t necessarily tell the whole story, as you might blame some <i>other</i> piece of code for causing a miss. Maybe I should try cachegrind again...
panicover 9 years ago
Cool stuff! Does anyone know why the geometric mean is used for averaging benchmark scores rather than the usual arithmetic mean?
评论 #11106612 未加载
DannyBeeover 9 years ago
Interestingly, much of their complaints around pointer chasing, etc, are things LLVM plans on solving in the next 6-8 months. i&#x27;m a bit surprised they never bothered to email the mailing list and say &quot;hey guys, any plans to resolve this&quot; before going and doing all of this work. But building new JITs is fun and shiny, so ...
评论 #11107352 未加载
评论 #11107272 未加载
评论 #11108065 未加载
ck2over 9 years ago
tl;dr<p><a href="https:&#x2F;&#x2F;webkit.org&#x2F;blog-files&#x2F;kraken.png" rel="nofollow">https:&#x2F;&#x2F;webkit.org&#x2F;blog-files&#x2F;kraken.png</a><p><a href="https:&#x2F;&#x2F;webkit.org&#x2F;blog-files&#x2F;octane.png" rel="nofollow">https:&#x2F;&#x2F;webkit.org&#x2F;blog-files&#x2F;octane.png</a><p>seriously though, dang, how many years of coding to get to that level of expertise
Eccoover 9 years ago
I&#x27;m really wondering about the politics behind all this. I mean both LLVM and WebKit are Apple projects (even though they&#x27;re Open Source). So it would have been reasonable to expect an improvement of LLVM instead of ditching it altogether.
评论 #11105175 未加载
评论 #11105283 未加载
评论 #11105251 未加载