Viewing profile — dzaima
dzaima
HN member- Joined
- Mon, Sep 30, 2019, 7:48 AM UTC
- HN karma
- 1,697
- Public activity
- 943 items
- HN profile
- View on Hacker News ↗
About dzaima
https://codeberg.org/dzaima/
Recent public activity
-
comment
Comment #49200601
There's no autovectorization there; scalar f64-s just are always stored in xmm registers. And the bounds check is still there.
-
comment
Comment #49200576
Compress patterns aren't recognized by any open-source compiler autovectorizer as far as I'm aware of. (I think intel's proprietary C/C++ compiler can?)
-
comment
Comment #49194721
aarch64 has a CPU mode, DIT (Data Independent Timing), specifically for allowing software to request all fancy value prediction stuff to be disabled for the duration of processing …
-
comment
Comment #49122779
While I agree with the comment being overly-praise-y, this is complexity that any multithreaded language with mutability and reasonable sanity/safety desires (but without intrusive…
-
comment
Comment #49088119
A quick test (C, clang) gives me that a binary depending on 1000 shared libraries, each containing a single function returning an integer, with a main function summing up the resul…
- comment
-
comment
Comment #49052915
Unaligned loads/stores aren't super bad; if still within a cacheline, there's zero penalty, and on crossing cachelines it's alike two ops (except page crossing, which is more bad).…
-
comment
Comment #49018682
Where I eat doesn't have a "WC" sign, walls separating it from public areas, and a toilet present. Codebergs private repos have a clear "private" label, infrastructure for making t…
-
comment
Comment #49005284
...in what way whatsoever is this "They dont allow private repos"? The size limit is........a size limit, something every host should have; there's one for public codeberg repos to…
-
comment
Comment #48946493
> For example any such function can be marked with __attribute__((pure)) in compilers like gcc and clang. https://gcc.gnu.org/onlinedocs/gcc/Common-Attributes.html states: > Howeve…
-
comment
Comment #48946359
> Floating-point operations are stateful in any CPU made during the last 40 years. But sane programming languages entirely hide that (to the same extent that they hide integer flag…
-
comment
Comment #48906949
> A decent programming language should have 2 distinct types for floating-point numbers, one for those that cannot be NaNs (to be used only in a program that enables and handles in…
-
comment
Comment #48866761
Rather depends on definitions; GPL does contain: > The "source code" for a work means the preferred form of the work for making modifications to it. With that definition, there's d…
-
comment
Comment #48823627
FYI, your "8‿64 •bit._cast -⟜@ raw" in bqn/util.bqn results in passing to •bit._cast integers in the range 0..255, whereas it expects integers ¯128..127 (and does arbitrary platfor…
-
comment
Comment #48802069
Perhaps some early things in the pipeline could be easier with a saner language, but I can't imagine it affecting much of the core optimizations, which'd all benefit from being ran…
-
comment
Comment #48796674
Formal proofs for specific instruction sequence substitution (e.g. LLVM's instcombine) are simple-ish enough via just throwing SMT at it, ...as long as the source pattern and targe…
-
comment
Comment #48794156
..except, if you want to add logging/metrics/other logic, it's quite possible you'll want it to be conditional on the boolean anyway, bringing branching back, now mixed with the no…
-
comment
Comment #48789684
Such source-level warnings do exist in various forms in various languages, with various levels of fixed analysis done for determining them. Tying such in with optimizations largely…
-
comment
Comment #48750462
Note that glibc does provide a malloc_usable_size to query the size of a malloc'd block; not standard though of course. A problem with just directly exposing such is it makes preci…
-
comment
Comment #48746775
Not that I know of; and such would necessarily have false-positives (...or, rather, entirely consist of potential false-positives) because you may actually want the re-read.
-
comment
Comment #48746155
The crappiness of shrink-wrapping in gcc and clang (but especially clang) annoys me a lot. It feels like there should be a quite decent amount of general performance to be gained f…
-
comment
Comment #48730674
Ampere Altra is for cloud/datacenters/servers where multithreaded throughput is approximately all that matters. Apple M series is for consumers.
-
comment
Comment #48729637
That'd only help for one object per address space. Main thing needing relocation - shared libraries - needs arbitrarily-many segment bases. And when you're not a library, relocatio…
-
comment
Comment #48724070
OP links you to POSIX explicitly denoting it being implementation-defined - https://pubs.opengroup.org/onlinepubs/9699919799/utilities/e... , and https://pubs.opengroup.org/onlinep…
-
comment
Comment #48716515
ECMAScript has a pretty massive amount of fully-specified behavior though; the things that differ between those implementations is nearly-entirely limited to fresh additions like `…