Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
moonchild
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
10 ms
·
91.
▲
by
moonchild
3y ago
If somebody does not understand the implications of a computation such as a floating-point 0.1 + 0.2, they should not be using floating-point. It's not the job of the language to protect them from that. Decimal floating-point will be
92.
▲
by
moonchild
3y ago
> Lots of CVE's around this in other language SDK's that have been ironed out over the last decade and half Like what? The only notable one I know of is log4shell. And no one advocates not to use java because of rce. Nor jav
93.
▲
by
moonchild
3y ago
No.
94.
▲
by
moonchild
3y ago
> GPT-4 nailed it Did it? Did you read what it wrote?
95.
▲
by
moonchild
3y ago
Officially licensed translations generally promise some degree of consistency, but are often (though not always) mediocre. Scanlations are more variable (of late, one not infrequently sees machine translations...), but peak higher.
96.
▲
by
moonchild
3y ago
I'm not familiar with the domain, but is there a particular reason for using floating-point numbers other than that they have faster hardware support? It is not hard to synthesise a fast integer multiply from a float fma, and then the
97.
▲
by
moonchild
3y ago
Very cute! A related trick—which I believe has been used by at least one gc's read barrier—is to turn a branch into a load from an address which will be unmapped iff the branch should be taken.
98.
▲
by
moonchild
3y ago
The principal difference is that rust constrains aliasing somewhat more than c. The practical differences currently are more relevant to compilers than cpus, since architectures do not provide a way for programs to provide aliasing informa
99.
▲
by
moonchild
3y ago
The work on e-graphs I refer to is < https://egraphs-good.github.io/ >—amortised rebuilds. My example has nothing whatsoever to do with abi, and everything to do with ir. f and g are exactly semantically equivalent, an
100.
▲
by
moonchild
3y ago
One prominent example: the use of intermediate representations based on basic blocks introduces redundancies that increase the complexity of the compiler, requiring attendant redundancies in order to optimise the same. You can see the redu
101.
▲
by
moonchild
3y ago
there is also https://github.com/openglonmetal/MGL disclaimer: have not used or tested
102.
▲
by
moonchild
3y ago
> are computers just not yet fast enough to do a good job with very simple loops in practical compilers? The short answer to this question is 'yes', but there are some extenuating factors: - Although we could do interesting thi
103.
▲
by
moonchild
3y ago
Branches are prone to be faster than conditional moves if they are correctly predicted, because they do not increase the critical path length. And utf-8 decoders are commonly run on all-ascii input. What were you benchmarking on?
104.
▲
by
moonchild
3y ago
I agree that widely available pornography has probably been a net negative for society. However: 1. I'm not convinced that it is markedly worse than other harmful content which is now widely available on the internet. 2. I don't
105.
▲
by
moonchild
3y ago
CPUs can broadly be considered to have three major components: - Memory subsystem - Frontend - Backend That is: - Get the data to work on - Figure out what work to do on it - Actually do the work. These are in order of decreasing importance
106.
▲
by
moonchild
3y ago
The 'paging' is implemented in software, not in hardware. This is how databases not using mmap already work, so mmus are already pure overhead for them.
107.
▲
by
moonchild
3y ago
I don't really see what those two things have to do with each other. When you don't use mmap, you manage the disc<->ram storage virtualisation yourself. Hardware paging, then, is pure overhead. The parent doesn't arg
108.
▲
by
moonchild
3y ago
My apologies. I linked that video mostly as a cheap shot at risc-v, and because it articulates the problem nicely. But doing that is somewhat antisocial, and further, I do not per se agree with its solution. It paints fixed-width vectors
109.
▲
by
moonchild
3y ago
Strawman; nul-terminated strings are horribly slow for nearly every application. Hence I assume (especially given that they are using c++) that they are using length-accompanied strings rather than nul-terminated ones.
110.
▲
by
moonchild
3y ago
refer to https://www.youtube.com/watch?v=HNEm8zmkjBU
111.
▲
by
moonchild
3y ago
Yeah, that's logically what it is—point is just to reduce memory traffic. (And, for that matter, memory subsystem ops, which is amusing as distribution by contrast directly exploits the memory subsystem.) I haven't read anything
112.
▲
by
moonchild
3y ago
It seems likely to me that multi-way merge is better. 256-way is a bit much, but, with appropriate queueing, you can get close. Among other reasons because, unlike multi-way partition, multi-way merge does benefit from vectorisation, an
113.
▲
by
moonchild
3y ago
Perhaps look at some of what paul khuong has written about umash; it is dense, but good, and includes good references.
114.
▲
by
moonchild
3y ago
We've seen (+, and) multiply (that's just standard multiplication) and (xor, and) multiply ('carryless multiply'); it would be interesting to see a carryless multiply where both combining functions are user-controllable.
115.
▲
by
moonchild
3y ago
Base avx512, on the first phis, did in fact only work for 512-bit registers (it also used a slightly different encoding). A later extension is avx512vl (included on all 'normal' cpus implementing avx512), which adds support for t
116.
▲
by
moonchild
3y ago
Yes. Phi was a massive vector processor bolted onto a tiny scalar processor. This seems to have worked pretty well, for what it was. But it wouldn't be suitable for the applications where intel is using gracemont, because client wor
117.
▲
by
moonchild
3y ago
Indeed, and to add on to this, I suspect that they had their own plans about where to take the client space in general, which involved more avx512 (which a couple of generations prior to alderlake supported!), but depended on their having a
118.
▲
by
moonchild
3y ago
> an atomic increment can scale, we proved they could scale to the performance of a load in the 80s Interesting--can you link a reference for this?
119.
▲
by
moonchild
3y ago
Contended atomics don't scale. It is possible to construct concurrent structures which contend rarely (but which must still use atomics to guard against the rare case when mediation is required). There was also an interesting paper
120.
▲
by
moonchild
3y ago
Sort of (not in the sense meant by the parent), and it's nonsense regardless https://mlochbaum.github.io/BQN/implementation/kclaims.html#...
More ›