Live data from Hacker News

Viewing profile — dzaima

dzaima

HN member
Joined
Mon, Sep 30, 2019, 7:48 AM UTC
HN karma
1,697
Public activity
943 items

About dzaima

https://github.com/dzaima/

https://codeberg.org/dzaima/

Recent public activity

  1. 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.

  2. 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?)

  3. 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 …

  4. 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…

  5. 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…

  6. comment
  7. 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).…

  8. 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…

  9. 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…

  10. 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…

  11. 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…

  12. 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…

  13. 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…

  14. 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…

  15. 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…

  16. 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…

  17. 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…

  18. 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…

  19. 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…

  20. 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.

  21. 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…

  22. comment
    Comment #48730674

    Ampere Altra is for cloud/datacenters/servers where multithreaded throughput is approximately all that matters. Apple M series is for consumers.

  23. 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…

  24. 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…

  25. 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 `…