2 ms·
I can hope this will lead to little to no memory issues in using bun as a web server
by eddiewithzato 5mo ago
I can hope this will lead to little to no memory issues in using bun as a web server
- embedding-shape 5mo agoI'd be surprised if they could eliminate memory issues completely, especially considering the amount of `unsafe` the codebase seems to contain. git rev-parse HEAD && ag "unsafe" src | wc -l 19d8ade2c6c1f0eeae50bd9d7f2a4bf4a2551557 14865
- davidghowell 5mo agoThat's picking up all the "bunsafety" references in there :P
- embedding-shape 5mo agoWhen I read what you wrote, I was like "of course, duh, I'm stupid" but running `ag "unsafe" src | grep -i "bunsafety"` it doesn't seem to be the case actually, I see zero bunsafety mentions from it. However, `ag unsafe` does over-count anyways, just in a different way, matching stuff like SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION and _unsafe_ptr_do_not_use and others. Better command with same previous commit, `ag -w unsafe src | wc -l`, reports 13914 "unsafe" usages now, slightly better but pretty awful still.
- logicprog 5mo agoMy understanding is that that's because they were trying to do a structurally homologous port from Zig to Rust, precisely to keep their mental model and not change "too much" at once, and then they plan to refactor to make it safe Rust later.
- rpearl 5mo agoit's clear that as of the time of this merge, no human has read any appreciable fraction of current mainline bun, so it's not particularly clear how much of a "mental model" exists anymore.
- Narishma 5mo agoDoesn't that count anything that has 'unsafe' in it, not just the keyword?
- embedding-shape 5mo agoIt does, see the sibling comment made about an hour before yours, fixing that issue has marginal difference.
- e12e 5mo agoOn the other hand - now it should be possible to tackle some of those one by one?
- embedding-shape 5mo agoOh yes, I don't doubt they'd eventually be able to seriously reduce that number, probably to a handful of places. I don't doubt the strategy employed here, rewriting it keeping it similar, then slowly change it. I do still doubt they'd be able to completely eliminate memory issues in the end regardless.