Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Sesse__
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
36 ms
·
571.
▲
by
Sesse__
2y ago
Any non-toy SQL engine is going to do condition pullup and pushdown. (Well, I know at least one that only does explicit pullup, but does pushdown more implicitly because it doesn't use a tree. The effect is largely the same, modulo som
572.
▲
by
Sesse__
2y ago
It is also the only way to represent join conditions for outer joins.
573.
▲
by
Sesse__
2y ago
Using clangd for this very much assumes that you have all include files and build flags available at the point of merge resolution, which is often pretty much impossible.
574.
▲
by
Sesse__
2y ago
I guess it means in the sound scape as a whole, potentially including multiple instruments. But to keep it to a single piano, e.g. if you play B3 D4 G4, then it won't sound like a B chord (neither minor nor major) because there's
575.
▲
by
Sesse__
2y ago
All of this makes a lot of sense. But to add; a semi-professional piano player I know once gave me a heuristic that can help sometimes, namely “the lowest fifth contributes the most to what the chord feels like”. But you can still get into
576.
▲
by
Sesse__
2y ago
An important point here is that for certain languages, using the original grammar is pretty much impossible. In particular, for C, you want to do diffing and merging on the un-preprocessed source, but the language's grammar very much a
577.
▲
by
Sesse__
2y ago
You can render the entire string before upload, but then you are essentially using a CPU render, which will be slower than having the GPU do the same thing. FWIW, this method is also a texture despite being called “texture-less”; the textur
578.
▲
by
Sesse__
2y ago
It adds a bunch of indexes, yes. I don't think anyone really runs TPC-H unindexed unless they are using a database that plain doesn't support it; it wouldn't really give much meaningful information. Edit: I seemingly don'
579.
▲
by
Sesse__
2y ago
Does TPC-H SF1 really take _one and a half hours_ for you on regular Postgres? Last time I tried (in the form of DBT-3), it was 22 queries and most of them ran in a couple seconds.
580.
▲
by
Sesse__
2y ago
Many of them do, they're just not something any random person can go and sign up for.
581.
▲
by
Sesse__
2y ago
Rust atomics, like C++ atomics, include memory barriers (the programmer chooses how strong, the compiler/CPU is free to give stronger).
582.
▲
by
Sesse__
2y ago
It's not even clear why they need a browser in the mix; most of these services have APIs you can use. (Also, why fork Chromium instead of using CEF?)
583.
▲
by
Sesse__
2y ago
I see this in LTO/PGO binaries as well. If a function is 20 instructions long, it's not like you can inline it uncritically, yet a five-cycle prologue and a five-cycle epilogue will hurt. (Also, recursive functions etc.)
584.
▲
by
Sesse__
2y ago
A variety of kernels over the last five years, on a multitude of Intel CPUs. :-) I last tested this on 6.10, I think. It's certainly true that there can be junk in --call-graph fp, too.
585.
▲
by
Sesse__
2y ago
I've tried --call-graph lbr a bunch of times, but often, it… just returns junk? I don't fully understand why, it sometimes returns wild pointers even if you don't have deep stacks.
586.
▲
by
Sesse__
2y ago
If you're limited to 32 entries, why not just use LBR, then? It has basically the same pros and cons.
587.
▲
by
Sesse__
2y ago
> - 5% of system-wide cycles spent in function prologues/epilogues? That is wild, it can't be right. TBH I wouldn't be surprised on x86. There are so many registers to be pushed and popped due to the ABI, so every time I p
588.
▲
by
Sesse__
2y ago
There was at least one socketed version.
589.
▲
by
Sesse__
2y ago
One of my lecturers at university (in information theory) once talked about the conference where he had met Shannon. Shannon was already a legend, and didn't show himself much, so there was a lot of whispering, and someone figured out
590.
▲
by
Sesse__
2y ago
I have no idea why you bring that up? NNUE has no bearing on the search.
591.
▲
by
Sesse__
2y ago
AlphaZero/LC0 uses a very different kind of search, enough, which is not based on pruning to the same extent. (I guess you must count LC0 as a top engine?)
592.
▲
by
Sesse__
2y ago
Cranelift, the (perenially?) up-and-coming Rust compiler, is based on e-graphs.
593.
▲
by
Sesse__
2y ago
AFAIK this was only ever really true for AVX-512 (when touching the actual wider registers). Most others have had a moderate downclock, but still normally worth it.
594.
▲
by
Sesse__
2y ago
The problem is that the different SIMD instruction sets are genuinely... different. The basics of “8-bit unsigned add” and similar are possible to abstract over, but for a lot of cases, you may have to switch your entire algorithm around be
595.
▲
by
Sesse__
2y ago
The problem is that there were CPUs made well after 2008 that don't support SSE4. In particular, Phenom II was fairly popular, sold up until 2012, and doesn't even support SSSE3 (much less SSE4.1 and SSE4.2; only an AMD-specific
596.
▲
by
Sesse__
2y ago
Twice or more is pretty significant, wouldn't you say? :-) Code size is a valid concern, though.
597.
▲
by
Sesse__
2y ago
Yes. If your distances are dense integers, you can use a simple array as the priority queue in Dijkstra, and it will be faster than a heap (Dial’s algorithm).
598.
▲
by
Sesse__
2y ago
But xor and sub can go in way more ports, giving you higher throughput.
599.
▲
by
Sesse__
2y ago
Also shifts, especially variable-length shifts, are frequently slower than xor and add/sub (e.g., on x86, shl only works with cl and shlx has high latency), so that's another score for the xor variant.
600.
▲
by
Sesse__
2y ago
Given that a good chess move generator will work in way less than a microsecond (TBH, probably even less than taking a DRAM lookup for a large hash table), and most chess positions have never been seen before, having a cache sounds counterp
More ›