Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ot
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
40 ms
·
301.
▲
by
ot
4y ago
For integer-size keys, a simple integer mixer will perform better than anything.
302.
▲
by
ot
4y ago
> I ended up implementing the Fowler–Noll–Vo 1a hash, which is known for trading some quality for increased performance. It was designed to be fast This is a surprisingly resistant belief. It may have been true once, but today FNV is not
303.
▲
by
ot
4y ago
Yes they likely meant "typical top speeds". According to Wikipedia, all "Highest average" speed records (for race, lap, and qualifying) happened in Monza, and they're all around 250km/h, or 155mph. https:/
304.
▲
by
ot
4y ago
Move fast and break things is literally what a missile does.
305.
▲
TensorFlow Library Performance
(brendangregg.com)
1 points
by
ot
4y ago
|
0 comments
306.
▲
Tech Giants and Tiny Dogs
(npr.org)
1 points
by
ot
5y ago
|
1 comments
307.
▲
by
ot
5y ago
> The brainwaves associated with a wakeful state (and thus generating and parsing language) happen around 40 Hz. Our machines are running in the GHz region. I don't disagree with the larger point, but each neuron is like a small ind
308.
▲
by
ot
5y ago
> Just as a quick FYI the other side of the story is the the claim that he'd been drinking large amounts of cognac. You're not quoting the article accurately: > lawyers for the city argued [...] that he had consumed a “large
309.
▲
BPF Iterator: Retrieving Kernel Data with Flexibility and Efficiency
(developers.facebook.com)
1 points
by
ot
5y ago
|
0 comments
310.
▲
by
ot
5y ago
Thanks! You're right, I missed it because it was in the section "Comparison with std::lower_bound" and I thought there would be just some gloating :) Most published data structure benchmarks have this pitfall, and don't
311.
▲
by
ot
5y ago
Very interesting post. The best results I knew of for static ordered search [1] were from the 2015 Khuong-Morin paper [2], which is not cited in the article but the author cites it in the previous post, and in their benchmarks Eytzinger+pre
312.
▲
by
ot
5y ago
Note that the article is exclusively about static data. The vast majority of the complexity of B-trees comes from supporting updates, but constructing a balanced B-tree from a sorted list is relatively straightforward.
313.
▲
by
ot
5y ago
Yes, when you write to a file it doesn't actually hit the disk, it stays in some kernel buffer until the buffers get too big or fsync (or variants) is explicitly called. For example, in RocksDB you'd issue a few writes, and then c
314.
▲
by
ot
5y ago
The batching comes implicitly in LSMs: for the WAL, the writes are committed only when the WAL is synced, so the amount of batching is user-controlled. When writing SSTables (either from memtables or from compaction) the write sizes are con
315.
▲
by
ot
5y ago
If you're not doing random writes (that is, random keys) an LSM has no write amplification, it essentially becomes a sorted list of SSTables. I can't think of any OLTP application where the writes are not random (in the sense of r
316.
▲
by
ot
5y ago
LSM trees have all kinds of tricks to make reads fast too, like Bloom filters to rule out levels that don't have the key. RocksDB, an LSM, powers what is probably the largest MySQL deployment in the world, for OLTP workloads [1] The re
317.
▲
by
ot
5y ago
Not that I remember :) I went through that LKML thread and it looks like that particular patch isn't going anywhere, but given the general direction of supporting all syscalls in io_uring, I'm confident it will happen eventually.
318.
▲
by
ot
5y ago
As an optimization? Would futex support in io_uring be enough? https://lwn.net/Articles/857835/
319.
▲
by
ot
5y ago
Or the large markets subsidize the small ones just to maintain market dominance.
320.
▲
by
ot
5y ago
I wish I had known about cog some 14 years ago when I implemented exactly the same thing ( https://github.com/ot/inpytex ). It was made for LaTeX files but could have worked with anything. It even uses the same checksum
321.
▲
by
ot
5y ago
I would add encryption/authentication protocols to the list.
322.
▲
by
ot
5y ago
How do compiler thread annotations solve the problem of persisting references to the object? Is static analysis able to detect that? Seems a hard problem (basically escape analysis). Synchronized cannot guarantee thread-safety, but in my ex
323.
▲
by
ot
5y ago
There is no explicit protection for recursive locking. In practice, write locks will deadlock, and read lock under read lock will be fine. However, the API encourages practices that make it very hard to recursively acquire the lock (Synchro
324.
▲
by
ot
5y ago
Not the OP, but active user and contributor to folly, so I can add some context. folly is a community effort within Meta; it doesn't have a specific theme about what's included in it, but it is a set of core libraries that are lik
325.
▲
Drgn: How the Linux Kernel Team at Meta Debugs the Kernel at Scale
(developers.facebook.com)
5 points
by
ot
5y ago
|
0 comments
326.
▲
by
ot
5y ago
It is important to note that in all the test cases the data fits comfortably in L1 cache. The author mentions this > Eventually, the bitset would get so large that doing a single pass would make more sense as it makes better use of cache
327.
▲
by
ot
5y ago
I would guess it’s a way to quickly bisect on compiler versions.
328.
▲
by
ot
5y ago
PRNGs are not good mixers because they're not designed to be. - A PRNG takes a pseudo-random state and produces another pseudo-random state - A mixer takes possibly correlated inputs and must produce outputs as uncorrelated as possible
329.
▲
by
ot
5y ago
The author deeply misunderstands how WAND works, and "T-WAND" is just WAND. Once a pivot is found, you don't have to advance all the iterators that precede it, but just enough to disprove the current document, at which point
330.
▲
by
ot
5y ago
Those are PRNGs, not hash functions.
More ›