Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
anarazel
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
33 ms
·
361.
▲
by
anarazel
5y ago
E.g. U.2 drives can utilize NVMe but in a form factor easier to swap (including hot plugging support). Edit: typo
362.
▲
by
anarazel
5y ago
Not necessarily flash - the p900 you list isn't flash for one. Nor is it necessarily over PCIe...
363.
▲
by
anarazel
5y ago
As a postgres dev, I do feel that the lack of in-person conferences over the last 1 1/2 years caused a perceptible slowdown in some areas. But I also can't stand working full in an office most of the time.
364.
▲
by
anarazel
5y ago
Indeed. Obviously it's bad that the NYT is using these dark patterns. But it would be worse if the NYT would just stop to cover dark patterns, because of that. It's a sign of a working separation between the journalistic and bus
365.
▲
by
anarazel
5y ago
I used gmail to subscribe to lkml at some point. Then switched back to my own email server. Forgot to unsubscribe on gmail. A few years later I deleted that folder. And couldn't open Gmail anymore for weeks, everything would just time
366.
▲
by
anarazel
5y ago
It really depends on the type of memory usage though. On current Intel multi-socket the bandwidth a single process can have for core meditated memory accesses, even for node local memory, is seriously disappointing. Often < 10GB/s.
367.
▲
by
anarazel
5y ago
Why? DMA can do transfers to/from CPU caches.
368.
▲
by
anarazel
5y ago
The problem is that the book presents things that are at best 60/40 issues as hard rules, which leads novices++ follow them to the detriment of everything else.
369.
▲
by
anarazel
5y ago
I think it's not just a question of the societal pressure. From the little I could understand in the paper, the HIV vaccine would be considerably more complicated than the Covid-19 ones, primarily do deal with all the immune escape iss
370.
▲
by
anarazel
5y ago
FWIW, my own measurements tell a somewhat more complex story. Not hugely for reads, but writes. And less so for the higher end drives (with plenty fast cache). Plenty real world, write heavy, scenarios can benefit from having merging in pos
371.
▲
by
anarazel
5y ago
> It's IOPS, not throughput, that NVMe gets you. (Or rather, if you're not being bottlenecked by IOPS, then NVMe won't get you anything over a JBOD of SATA SSDs It's both. Throughput is a significant issue with SATA.
372.
▲
by
anarazel
5y ago
If the latter, I think I just read the specs at some point & traced the linux drivers. There's prominent references to needing just one MMIO write for NVMe command submission in the NVMe spec: "Does not require uncacheable &#x
373.
▲
by
anarazel
5y ago
I can't quite tell if you're cheekily suggesting I should provide sources for my claims, or whether you misunderstood (1) to be a reference to some source? If the latter, it was just intended to document the number of uncached wri
374.
▲
by
anarazel
5y ago
There's plenty effort improving those aspects. Including by employees in companies making money on PG support. But there's plenty hard problems - there are in other areas too, but work on those often started much earlier. These d
375.
▲
by
anarazel
5y ago
I'm confused by how high their latencies are, something isn't right (/me goes and spends too much time that I instead should spend on paperwork). The biggest contributor is that they tested random reads - that'll likely
376.
▲
by
anarazel
5y ago
The number of non-cacheable writes for SATA/AHCI is iirc 3x of NVMe command submission (1). Which does increase the lower bound of latency that is achievable. That doesn't matter for slower drives, but on the very low latency end
377.
▲
by
anarazel
5y ago
It's a really annoying proxy to determine the default configuration :(. There's plenty devices with multiple channels that benefits from the increased merging possible with a scheduler - particularly around writes, where a lot of
378.
▲
by
anarazel
5y ago
> - If I want to write a multithreaded program, is it best to have one io_uring per thread? Yes! But it's not quite that simple: Sometimes you might need some of the ordering operations in io_uring, which then will force you to use
379.
▲
by
anarazel
5y ago
Is libc6-prof just glibc recompiled with -fno-omit-frame-pointer? I did that a couple times and found that while that fixes a few system calls, it doesn't fix all of them. I think the main issue was several syscalls being called from a
380.
▲
by
anarazel
5y ago
Locally run benchmarks.
381.
▲
by
anarazel
5y ago
> As brilliantly said further in this thread by someone else, maybe check that something is OK before doing it. Much easier said than done: https://github.com/postgres/postgres/blob/master/src/in
382.
▲
by
anarazel
5y ago
Partially that can be amortized with io_uring... At the cost of some complexity, of course.
383.
▲
by
anarazel
5y ago
That doesn't really help with the compiler optimization aspect : A typical use of the range information would be to unroll the loop - in which case there's no addition to trap on anymore.
384.
▲
by
anarazel
5y ago
> in how many contexts is INT_MAX + 1 overflowing to INT_MIN actually sane semantics? Unless you're immediately attempting to check the result to see if it overflowed (which is extremely rare in the code I see) It's not that ra
385.
▲
by
anarazel
5y ago
> C is a minefield today, and that is the reality we must live with. You can't turn back time 25 years and change what has happened. I think it's doable to make some of the UB issues considerably less painful. E.g. define facil
386.
▲
by
anarazel
5y ago
But remove the advantage of having situational awareness :)
387.
▲
by
anarazel
5y ago
That's precisely my point? Because the overflow case is undefined, the compiler can assume it doesn't happen and optimize based on the fixed loop count.
388.
▲
by
anarazel
5y ago
Postgres compiles with fwrapv for many years now, and yes, it does introduce a measurable CPU overhead. Not 10%, but also not just 0.1%.
389.
▲
by
anarazel
5y ago
NPE isn't really a relevant comparison point - it raises an exception of sorts in both languages. Accessing an array past its end, accessing freed memory, reading uninitialized memory seem more apt.
390.
▲
by
anarazel
5y ago
First: I do dislike how hard it is to avoid some UB / how impractical some of the rules are. But I also think a lot of discussions of this topic caricaturize compiler writers to a ridiculous degree. Almost describing them to write opti
More ›