Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Leszek
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
11 ms
·
61.
▲
by
Leszek
5y ago
Having it in there optionally would be even more awkward, and getting rid of it entirely isn't possible without changing the JavaScript spec /shrug
62.
▲
by
Leszek
5y ago
Fun fact -- in V8 this is the only case which requires three token lookahead, to distinguish `<!-foo` meaning "less-than not negative foo" from `<!--` meaning "start of HTML comment". There's a whole rewinding
63.
▲
by
Leszek
5y ago
I used the autodiff in Ceres in the past ( http://ceres-solver.org/automatic_derivatives.html ), but Autodiff ( https://autodiff.github.io/ ) also looks pretty good.
64.
▲
by
Leszek
5y ago
I'm surprised this doesn't implement any sort of automatic differentiation (like dual numbers) - I guess you can use a separate library for that but it's quite a nice-to-have for optimization.
65.
▲
by
Leszek
5y ago
V8 developer here (who happened to also implement perfect hashing in V8's tokenizer) - perfect hashing is a very common compiler optimisation, and as the sibling comment says, is worth it for the runtime scanner speed improvement. If y
66.
▲
by
Leszek
5y ago
So... it's like academia.
67.
▲
by
Leszek
5y ago
When scanning the stack, you interpret every word as a potential pointer. Then, you ask your GCs allocator "is this pointer's address in one of your pages?". If it isn't, you're done. If it is, then you check if it&
68.
▲
by
Leszek
5y ago
I appreciate your pragmatism, but it falls apart in the statement "do your own research on market rates". How do you discover those without openness about salaries? You could interview at other companies, but then you'd only
69.
▲
by
Leszek
5y ago
Though, I don't see any discussion here on failed speculation / deoptimisation, and I do see discussion of disabling individual optimisation passes. I guess the generated optimized code assumes that all the speculative types colle
70.
▲
by
Leszek
5y ago
This is very cool. The splitting of logic between startup/warmup and execution is crucial here, to be able to get all that type inference and those speculative optimisations without hitting the limits of static analysis of the JS code.
71.
▲
by
Leszek
5y ago
Fair point - I was being careful with phrasing because I have a pet peeve about people trying to disprove research with anecdotes, but you're right that this is a somewhat different scenario. Indeed, supposing that both this research a
72.
▲
by
Leszek
5y ago
Anecdotal, and I don't want it to sound like my example is intended to disprove this research or anyone else's experience, but I personally find it extremely fatiguing if people _don't_ turn on their video. More specifically,
73.
▲
by
Leszek
5y ago
Not that this is very relevant to drones, but I've found over the past ~year that burgers survive being delivered surprisingly well, and the burritos I've gotten have been disappointingly soggy by the time they got to my door.
74.
▲
by
Leszek
5y ago
Perhaps it's better to link the Techcrunch article that this quotes: https://techcrunch.com/2021/07/28/read-the-script-every-driv...
75.
▲
by
Leszek
5y ago
I'm a reasonably experienced person and I've found myself much _less_ productive at home, because despite my experience I still get value from being able to easily and quickly bounce ideas off people or get help in components that
76.
▲
by
Leszek
5y ago
This is correct, manual calls to roughjs (which is the same library as used by excalidraw afaik)
77.
▲
by
Leszek
5y ago
Sorry, the 4x was my estimate of Ignition vs. Sparkplug (I guess it's closer to Iain's estimate of 2-4x). Sparkplug vs. TurboFan is crazy workload dependent. For microbenchmark-y tight loops, integer attorneys, and clean single-sh
78.
▲
by
Leszek
5y ago
"Ignition" was the codename for the entire interpreter project, including both the Ignition compiler and the Ignition interpreter. So the answer to your question is "yes".
79.
▲
by
Leszek
5y ago
It had massive technical debt. Both Ignition and FCG had to compile from source, and we had to be able to tier up from both of them up to TurboFan, so TurboFan maintained two front ends - one to compile from bytecode, and one to compile fro
80.
▲
by
Leszek
5y ago
Those vary widely too, depending on what (and more importantly, how many) object shapes they see. They'll be roughly the same cost in Ignition and Sparkplug though, since they effectively call the same handlers for those loads (and way
81.
▲
by
Leszek
5y ago
Author here: ah well, you win some, you lose some. This is just v1 that's shipping with M91, we've already made improvements since then and there's plenty more low hanging fruit to pick, heuristics to tweak, etc.
82.
▲
by
Leszek
5y ago
Author here: this is indeed just relative score change, the M1's absolute values are of course impressively high. My personal, unofficial suspicion is that this has something to do with the size of the M1's reorder buffer being so
83.
▲
by
Leszek
5y ago
Just wait until you look at the source code which decides which way round to show you the stacks at first...
84.
▲
by
Leszek
5y ago
Author here: we do have various numbers collected here, with varying levels of "I'm sure enough about these numbers to share them in a public blog post". Compile time is on roughly the same order of magnitude as Ignition comp
85.
▲
by
Leszek
5y ago
Yeah, sorry, dark mode support needed CSS changes, so if you have cached CSS then it looks wrong. A hard refresh should fix it.
86.
▲
by
Leszek
5y ago
Author here: we did, and as other comments say we removed it in favour of Ignition, with the intent of at some point in the future bringing back some form of baseline compiler. The big difference is that Sparkplug compiles from bytecode, no
87.
▲
by
Leszek
5y ago
It's called the "overview effect": https://en.m.wikipedia.org/wiki/Overview_effect
88.
▲
by
Leszek
6y ago
There's a certain sweet irony to this article saying that Erwin Kreuz was from a village near "Augsberg" in Bavaria; if one indeed were to try to go to "Augsberg, Bavaria", they would find themselves in a) a real bu
89.
▲
by
Leszek
6y ago
(Disclaimer: V8 dev) This post is unfortunately nonsense, because it's making a fundamental measurement error: not including renderer processes for Safari, and only measuring the browser process (which should be expected to be roughly
90.
▲
by
Leszek
6y ago
I don't necessarily disagree, but there's a certain irony in presenting a claim of "how things are these days" in such a matter-of-fact way. I certainly wouldn't know how to refute your statement in a sufficiently s
More ›