Live data from Hacker News

Viewing profile — kobzol

kobzol

HN member
Joined
Mon, May 22, 2023, 6:53 AM UTC
HN karma
76
Public activity
41 items

About kobzol

https://github.com/kobzol

Recent public activity

  1. comment
    Comment #44609722

    The new Zig I/O idea seems like a pretty ingenious idea, if you write mostly applications and don't need stackless coroutines. I suspect that writing libraries using this style wil…

  2. comment
    Comment #44287575

    I also don't know all the details, but the Rust parser tokens contain horrible crimes, primarily because of macros. All I wanted to say was that applying DoD to the parser in Rust …

  3. comment
    Comment #44267093

    I don't think we hit a bedrock. As I wrote, we have a lot of ideas for massive improvements. But we need more people to work on them.

  4. comment
    Comment #44266483

    I'm not sure how that works. You either let the compiler compile your whole program with AVX (which duplicates the binary) or you manually use AVX with runtime detection on selecte…

  5. comment
    Comment #44266477

    You have a fair point, I agree that while compiler performance is a priority, is is one of many priorities, and not currently super high on the list for many Rust Project developer…

  6. comment
    Comment #44266459

    For many use-cases yes, but there are crates bottlenecked on different things than the codegen backend. But I don't think that's the point. We could get rid of LLVM and use other b…

  7. comment
    Comment #44266422

    I think a reasonable comparison would have to be DoD Rust parser vs current Rust parser. Comparing across languages isn't very useful, because Zig has very different syntax rules, …

  8. comment
    Comment #43619467

    Great post! I have some random guesses as to why the 40% vs 60-70% memory issues percentage: - 180k is not that much code. The 60-70% number comes from Google and Microsoft, and th…

  9. comment
    Comment #43531621

    That didn't even occur to me, tbh :) But it doesn't have to be SQL linting, I just wanted to appreciate the mindset of not being lazy/afraid to write an unorthodox test.

  10. comment
    Comment #43523918

    If I only insert data into the DB once, I could miss important states. Like, I could add non-NULL data to a NOT NULL column, then make it NULL, and then make it NOT NULL again. If …

  11. comment
    Comment #43523895

    If you're writing applications or tests, it's mostly the simpler kind of code. If you're writing reusable (or perf. critical code), you will start seeing generics and lifetimes muc…

  12. comment
    Comment #43523884

    (author of the post) Just to clarify a bit, the test ofc isn't a fully general solution to solving issues with database migrations (I hinted what that might be in the blog post), a…

  13. comment
    Comment #43523858

    I don't really see an attack surface for a dev dependency.

  14. comment
    Comment #43156654

    Yeah by user space I just meant without root, sorry. HQ runs on supercomputers where the environment is heavily locked up, even Docker doesn't work. I think that PID namespaces are…

  15. comment
    Comment #43156640

    Could be done, yeah, but 20s isn't that much, and I'd like to avoid adding more test-only magic environment variables zo configure this (our end-to-end tests are in Python and they…

  16. comment
    Comment #43156636

    It is sadly not propagated to grandchildren. I tries the subreaper approach, but it doesn't help. The children are reparented to the worker, but when the worker dies, they are then…

  17. comment
    Comment #43156629

    I do use setsid when spawning the children (I omitted it from the post, but I set it in the dsme pre_exec call where I configure DEATHSIG) but they don't receive any signal, IIRC. …

  18. comment
    Comment #43156613

    The stdlib already mostly does all of that :) Check out https://kobzol.github.io/rust/2024/01/28/process-spawning-pe... .

  19. comment
    Comment #43156612

    That's a very good point! But yeah, we use the single threaded runtime, so this shouldn't be a concern.

  20. comment
    Comment #39762948

    The Rust bhild config defaults are pretty fine for the general case. It's just that not everyone has the general case :) In Rust the normal distribution will be quite flattened.

  21. comment
    Comment #39724732

    Yeah, I actually generated these small charts out of a flamegraph, because it contains too much information and isn't easily split into three distinct parts. And once you condense …

  22. comment
    Comment #39724729

    There have been some recent improvements to this, but yeah, it can be still quite large. There is a WIP development of a garbage collector in Cargo that could help with this.

  23. comment
    Comment #39117323

    It didn't really require establishing a working group :) That is just an effort to improve Rust binary sizes in general. In the end, changes in Rust can take a very long time (year…

  24. comment
    Comment #39117208

    There is some work underway to enable removing the backtrace generation/parsing from Rust binaries. It's hardcoded for now though.

  25. comment
    Comment #39117166

    You can't really use dead code elimination on debug symbols, because you don't know which symbols will you need. You would need to know where and how will your program crash or if …