NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Bun 1.4 Rust rewrite is not looking good? (tipiirai.com)
skeledrew 1 days ago [-]
I'm still waiting for someone to bring forth some reproducible stats and state something along the lines of "I did a comparison of Bun 1.3 vs 1.4, and found these user-affecting issues in the latter which are not in the former".
skydhash 11 hours ago [-]
Is it a paid job?
hdjrudni 5 hours ago [-]
Paid to make such a post? No, but Bun has real users. If there are real issues in 1.4, surely someone will come out.

Here... I'll go first. `bun repl` in 1.4-canary has some rendering issues where characters get overwritten that I had previously not observed in 1.3.

cyanydeez 10 hours ago [-]
can I do it with AI?
happytoexplain 22 hours ago [-]
[flagged]
joshuat 1 days ago [-]
This reads as another weirdly personal attack against Jarred for slighting a technology stack the author prefers, citing the even weirder personal attack against Jarred written by Andrew Kelley as the sole source to justify their "biggest worry", code quality.

Idk why people have become so invested in this.

jibal 1 days ago [-]
The OP says

> Unused code is one issue. A project called Buz[1] found over 11,000 lines of dead code from the Rust port. [1]: https://github.com/jazzzooo/buz

When in fact Buz is a fork of the pre-Rust Zig version of Bun.

The OP has no credibility.

potsandpans 12 hours ago [-]
People _really_ don't want there to be success stories for llms and they will go through all lengths to discredit and disparage folks successfully exploring the space.
dafelst 11 hours ago [-]
It is yet to be determined whether or not the bun rewrite is a success, though.
hdjrudni 5 hours ago [-]
Right. So let's hold our horses and wait for the release before disparaging anyone.

I do have to agree with the author about Jarred's false claims about release dates though. Really not sure why he keeps doing that.

vga1 4 hours ago [-]
What are the standards for determining that?

The most obvious benefit Rust can give them is being safe from memory leaks. This is hardly controversial: it has been a Zig design choice that memory leaks are the developer/user's responsibility. They have already demonstrated to have fixed several of those [0].

Marketing-wise, it has been an obvious success. Dunno if that matters.

[0] https://bun.com/blog/bun-in-rust

rcxdude 1 hours ago [-]
Rust also doesn't prevent memory leaks: you can create memory leaks through reference cycles just fine in rust.
bmitc 6 hours ago [-]
It isn't LLMs in general, from what I can tell. It was how this port was done and communicated.
ofjcihen 11 hours ago [-]
Watch this:

People _really_ want there to be success stories for llms and they will go through all lengths to discredit and disparage folks questioning the space.

preg_match 10 hours ago [-]
Both of these are true. I recall Anthropic's lofty claims about their C compiler. It just did not work, and they claimed all of this and that. It was clear they were driven to believe that agents alone could write a C compiler, and refused to believe they couldn't. Not that I think that AI couldn't write a C compiler. It definitely can... with a human at the helm and sufficient time.

But, for people who don't like AI, they also refuse to believe that AI could be good at any particular workflow. Which is just obviously not true, there are workflows that AI is really good at. Language re-writes are one of them. They're almost mechanical in nature and trivial to check via tests. So, the perfect use-case for an LLM.

I'm not saying the Bun re-write is any good, but the underlying concept is sound. If ever there was a tool to do a language re-write, it would be a high quality LLM.

11 hours ago [-]
dvt 1 days ago [-]
> The last three months have not looked good for Bun.

Apart from pro-AI or anti-AI posturing how have the last few months not looked good for Bun, exactly? I use it daily and I've seen basically zero regressions. I get it, you don't like AI or you like Zig over Rust, or whatever. I just haven't seen any serious argument that Bun has somehow become worse software.

> The project has over 5k open pull requests, which is the largest number of pull requests I’ve seen.

Terrible argument, and not really an argument at all.

> The biggest worry is, of course, the code itself.

I agree, so look at the code and point out what's wrong with it.

Insofar as Andrew Kelley is concerned, it's obvious he has an axe to grind and is salty about Bun embarassing Zig (which he freely admits). Not sure why you'd invoke an unreliable narrator as some sort of final nail in the coffin.

locknitpicker 1 days ago [-]
> Apart from pro-AI or anti-AI posturing how have the last few months not looked good for Bun, exactly?

The blog post states quite clearly that Bun stopped posting any release.

During the Zig/pre-Rust days, Bun was posting s new release each 2-3 weeks.

Since then, Bun's Rust migration is correlated with a complete stop of Bun's release cadence.

cyanydeez 10 hours ago [-]
that could just be de rigeur enshittification.
dimbletimbers 10 hours ago [-]
Legitimately curious, are you using the 1.4 canary release in a production environment?
frail_figure 1 days ago [-]
> how have the last few months not looked good for Bun, exactly?

The article answers this. hint: they're not shipping.

> I get it, you don't like AI or you like Zig over Rust, or whatever

The article doesn't argue for either of these. hint: it's arguing that the team is not shipping.

> Terrible argument, and not really an argument at all.

It's an argument for the devs not shipping

> I agree, so look at the code and point out what's wrong with it.

It's not being shipped.

Hope that helps.

vintermann 2 hours ago [-]
I guess Claude too gets stuck on "wait! Let me think this through..." eventually.
petersumskas 1 hours ago [-]
Chris Newman fan?

You should have lead with “What is it now?”

re-thc 1 days ago [-]
> The article answers this. hint: they're not shipping.

They're shipping though.

Claude Code and many others use it. There's just not been a "public" release.

aureate 1 days ago [-]
In other words, it hasn't shipped.

The bun rewrite is looked to as proof that this sort of full-throttle vibecoding is the future of software development, at least for large porting projects like this one, and for many people on this site that is a high stakes question.

To prove that, a proper release is needed, and the Bun community needs to adopt it. There's a huge partisan eagerness to declare the Claude Code release or anecdotal experiences on the canary as victory, but the viability of 1.4 hasn't been demonstrated until it has been released and adopted by the bulk of the community.

There isn't actually any hurry on that. Nobody needs Bun 1.4 tomorrow. It's Jarred that keeps saying it'll be released tomorrow, while the code churns at an astonishing rate (see below). People with a skeptical outlook will inevitably suspect that he doesn't have confidence in the release and is struggling to acquire it.

Github insights for the last week:

> Excluding merges, 57 authors have pushed 349 commits to main and 6892 commits to all branches.

> On main, 2026 files have changed and there have been 189,502 additions and 133,836 deletions

re-thc 22 hours ago [-]
> The bun rewrite is looked to as proof that this sort of full-throttle vibecoding is the future of software development

To who? You?

> To prove that, a proper release is needed

For who? Who is trying to prove what?

> It's Jarred that keeps saying it'll be released tomorrow

There's no official blog... he's just rambling on x?

> Github insights for the last week

That's the problem with the rest of your post. Bun is no longer VC-fueled open source project. It got sold to Anthropic.

> There's a huge partisan eagerness to declare the Claude Code release

Hence there isn't. The Claude Code release is for its own use.

aureate 22 hours ago [-]
None of that makes any sense whatsoever.
orf 13 hours ago [-]
Pretty simple: it shipped to the owner.
dvt 1 days ago [-]
> It's not being shipped.

What are you talking about? I'm running 1.4 canary (the Rust rewrite) right now.

    λ bun --version
    1.4.0
Hope that helps.
locknitpicker 1 days ago [-]
> What are you talking about?

I think GP was pointing out how bun's release cadence stalled and the project is going nowhere at the moment.

https://github.com/oven-sh/bun/releases

The project was pretty healthy up to 1.13.14, but since may they stopped shipping anything.

That's quite odd for a project that just went through a major rewrite and is lauded as being developed primarily by LLM coding assistants.

Personally I expected the release cadence was going to go through the roof, but instead it flat lined.

CrimsonRain 11 hours ago [-]
So they are being more cautious and spending more time on polish after a never been done before historical massive rewrite...? Stop the press! They are not shipping as fast they used to! Omg!
rcxdude 12 hours ago [-]
I wouldn't consider it particularly surprising that a big rewrite results in no new releases for a bit before the rewritten version is released.
debugnik 11 hours ago [-]
Not surprising, but Jarred has been teasing "tomorrow I swear" for months and Bun keeps missing his own deadlines.

There's clearly something wrong in their confidence about Rust Bun: If it isn't ready they should have said "whenever it's done", and if it is they'd have met some deadline by now. I suspect the speed was supposed to be part of the stunt, yet they seem to have encountered the 90:90 rule.

tipiirai 1 days ago [-]
Unused code is one issue. A project called Buz[1] found over 11,000 lines of dead code from the Rust port.

[1]: https://github.com/jazzzooo/buz

aureate 1 days ago [-]
That was 11,000 lines of dead code removed from pre-rust Bun. In a million lines of vibed Rust Bun I'd be astonished if there was a mere 11,000 unused LoC. Noticing unused code isn't a strength of LLMs in my experience.
unified101 1 days ago [-]
11k out of a million. I wish I had a project under 1% of "dead code".
verdverm 1 days ago [-]
there are linters that check for dead code (depending on your language / ecosystem), it should always be 0%
jibal 1 days ago [-]
The dead code was removed from the pre-Rust Zig version. The OP has no credibility.

P.S. Nor does new user parenting my comments.

unified101 1 days ago [-]
Flag the article and move on.
dminik 1 days ago [-]
I mean, how do you check that your frontend code (possibly not even managed by your team) is calling and needs all of your backend endpoints? I'm sure it can be done, and it probably should, but saying it should always be 0% is not very pragmatic.
myvoiceismypass 19 hours ago [-]
Dead code likely means chunks of code not used by other chunks of code, which should be easy to determine statically in most modern languages. Whether an exposed endpoint is being hit (used) or not as an API is more of a test-code-coverage thing, different from the concept of "dead code".
dminik 11 hours ago [-]
True, but Bun actually has a similar problem. It's creating bindings to a JS runtime. If the JS glue code then no longer uses it, the code is still marked as alive because it's registered with the runtime.
dvt 1 days ago [-]
First of all, I'd need to see a diff on that. It's insane to make that kind of claim without backing it up. Second of all, dead code (as in truly dead code: like an if statement that is guaranteed to never be true), is optimized away by the compiler. So even if we had all this dead code, it is not an issue that would ever impact the final product. Third of all, the Bun runtime consists of over a million lines of code, so that figure (again, even if true) is insignificant.
aureate 1 days ago [-]
> It's insane to make that kind of claim without backing it up.

A bizarre accusation. It's a fork of Bun that says they removed the dead code. All you have to do to see the diffs is look at its history. Most of the commits are code removal.

It's a fork of Zig bun, though, not Rust, so hardly relevant to the AI argument.

jibal 1 days ago [-]
Congrats on completely undermining your own argument and credibility. Did you not even read your link?

> Buz is an early-stage experimental fork of pre-Rust Bun.... Over 11,000 lines of dead code removed from upstream Bun.

rtpg 9 hours ago [-]
3 months since the last stable release feels ... alright. The constant promises for a new stable release feels a bit like a self-own.

Having said that I would have a bit more confidence in things if release just got back to a normal pace.

rich_sasha 1 days ago [-]
For me the real test will be maintainability going forwards. Not a JS user.

I suppose it’s one thing to rewrite code and make tests pass. But a lot of my own CPU cycles when coding go to making the code understandable, modular, editable etc. IME Claude is not great on these.

Maybe it doesn’t matter? Maybe the spaghetti makes sense to Claude, and when you say “hey add this feature”, no problem?

But maybe it will turn into a worse ball of spaghetti, with no nicely curated tests, hacks on hacks on hacks and never ending loops of whackamole of “just change this one line and rerun tests”.

I can imagine both - let’s see.

classicposter 18 hours ago [-]
https://x.com/yagiznizipli/status/2082905235459117202

They were pleased to be faster than Go in the "Hello World" benchmark, but unfortunately, they lag behind Node.js and Deno in complex real-world workloads.

AntonOfTheWoods 8 hours ago [-]
Lots of people are apparently happily using the canary version in prod. Anthropic has been using it for ages now, as has Prisma.

Why not release 1.4 (or 2.0 or whatever) then? It won't get picked up by lots of tooling and won't get allowed in many "no pre-release in prod" shops until then. It had plenty of issues before (many thousands of open issues) so a few thousand more is hardly a big deal...

tuananh 7 hours ago [-]
bit off topic: do lots of people use Prisma Compute? I never heard it in a conversation, in my bubble
jibal 7 hours ago [-]
TFA shows that they are working on releasing it.

If you actually want an answer to your question, ask Jarred ... you won't get it here.

hdjrudni 5 hours ago [-]
No, the article shows that Jarred is claiming to be working on releasing it. And maybe he is, but he's also not provided reasons for the repeated delays, so for all we know he's goofing off drinking pina colladas while Claude is running the show and Tweeting on his behalf.
jtrn 1 days ago [-]
This reads like one of thouse articles in mainstream media where the author has a obvious agenda, and they think they are really clever when they write an attack piece that they think looks like objective , when it really really transparently isent.
franciscop 1 days ago [-]
Bun has been nothing but amazing wins for me, and I really like what it enabled me to do. Two examples:

- I have a couple of projects that handle images. I was including Sharp, but since these are side projects in a small VM, often a redeploy that recompiled Sharp just crashed the full VM (out of memory). Bun includes Bun.Image[1] natively, which is built around Sharp's API, so swapping Sharp out was very easy, and now deploys are a breeze (and swapping it in would be just as easy).

- Bun's JSX support is a godsend. I've replaced almost all my side projects that were backend rendered from Pug, Handlebars, and other various templates I used to have to just pure JSX. Heck, this made it trivial to make a side projects where the Favicon was a dynamic SVG [2]

[1] https://bun.com/docs/runtime/image

[2] https://stocksreader.com/portfolio?%5Egspc=10&amzn=10&msft=1...

tipiirai 1 days ago [-]
I also use Bun.Image to collect image size and metadata, and also to generate low-quality image placeholders. Works great.

Have you tried 1.4?

CrimsonRain 11 hours ago [-]
have you? Type -canary instead of this garbage article
10 hours ago [-]
rao-v 1 days ago [-]
What is the right recommendation at this point for a Node alternative? Deno?
domh 1 days ago [-]
What's wrong with just using Node? It's stable, has a good (and growing) standard library and has enough backing to be self sustaining.

edit: There's also nub which is built on top of Node.js and removes some rough/legacy edges: https://github.com/nubjs/nub

franciscop 1 days ago [-]
Node.js is virtually the only platform not supporting the Fetchable convention:

https://github.com/nodejs/node/issues/63096

https://fetchable.org/

domh 1 days ago [-]
That's a fair criticism... they move slower but mostly because they were the first. They would have to build a new Server and Request/Response primitives from scratch, or deprecate what they already have, or somehow shoehorn the existing types into the new ones.

They do seem to have just merged in support for Web Workers though, which I've been following for a while: https://github.com/nodejs/node/issues/43583

So I don't think they're opposed to standardising, but it's trickier when you have some past cruft built up. Lets not forget that the fetch() standard was built for browsers, and is a bit of a stretch to make it work on servers at all. You have to diverge from the fetch spec to even make it make sense in a server environment (with things like Cookies handling off the top of my head).

domh 1 days ago [-]
Same thing can be said about Streams in Node.js as well. They had a working streams implementation before the Web Streams API was in browsers (iirc). So implementing the standard now means removing what's already there, or breaking a lot of existing code.

Which leads to confusing things like the fact that there are two streams APIs in Node now:

Streams: https://nodejs.org/docs/latest/api/stream.html

Web Streams: https://nodejs.org/docs/latest/api/webstreams.html

And they have to support going back and forth between the two: https://nodejs.org/docs/latest/api/webstreams.html#nodejs-st...

It's exactly the same story for crypto as well. Node created it's own standard, Web standards emerged, Node has to support both:

https://nodejs.org/docs/latest/api/crypto.html

https://nodejs.org/docs/latest/api/webcrypto.html

Fwiw I think it's good they're not removing the legacy code, but they should probably do a big cleanup major release and lean into the modern standards and remove the old stuff. But there's obviously push back in doing so... and probably stuff you can do in the old modules that you can't do in the new and vice versa.

pjmlp 22 hours ago [-]
I wasn't even aware it exists, so no big problem.
eudamoniac 14 hours ago [-]
It also doesn't support the foobaz protocols! But millions of companies are using it to serve millions of customers, and it's fine.
hresvelgr 1 days ago [-]
It consolidates a lot of really annoying nits and quality of life aspects like bundling, module resolution, testing, env handling, etc. Node is just the runtime and still would require libs like esbuild, jest/vitest, dotenv, and so on. It's genuinely nice to have those out of the box, and generally in Bun the performance is quite significantly better in places that matter.
domh 1 days ago [-]
Let me address each one in turn:

- esbuild - this is normally for TS compilation, which Node can run natively now by stripping types: https://nodejs.org/docs/latest/api/typescript.html#type-stri...

- jest/vitest: Node has a test runner: https://nodejs.org/docs/latest/api/test.html

- dotenv: Node can read .env files: https://nodejs.org/docs/latest/api/cli.html#--env-filefile

Performance, maybe you're right - but if you're doing any IO, I doubt the runtime is really the bottleneck.

tipiirai 1 days ago [-]
I'm still waiting for v1.4 as I have committed to Bun so much. Not looking good, though.
rienbdj 1 days ago [-]
What’s wrong with node? Genuine question
Mashimo 1 days ago [-]
I think npm install can be very very slow on large projects. Think minutes.
pjmlp 22 hours ago [-]
Use pnpm or yarn, also available with node.
tipiirai 1 days ago [-]
Nothing. Bun is just smaller and faster and comes with a built-in package manager, test runner, bundler, SQL engine, image processor etc..
kwhat4 1 days ago [-]
From the perspective of someone trying to package nodejs, building it is a complete dumpster fire. GYP (generate your projects) is a now defunct and poorly thought out build tool that node heavily relies on with it's native C/C++ modules. Cross compiling is completely broken and I am honestly surprised it builds reliability for the native target.
pjmlp 22 hours ago [-]
C++ addons are great, that is what makes JavaScript on the server bearable, when performance matters and we're stuck with it, instead of using Go, Rust, Java, .NET.
re-thc 1 days ago [-]
It's 1/2 baked in everything it tries to do.

You need a "separate" tool called npm to install packages. It's dead slow so they added corepack. Another extra tool. Then you use it to install yarn or pnpm. Another extra tool. It might still be slower than bun...

In the past you need to transpile typescript with other tools. It can only run js out of the box. The later fix was a wasm build, which means slower than it could be. Another 1/2 job.

Many more examples in many areas but anything Node tries to do itself feels 1/2 baked.

Bun and Deno are faster than Node because it is a 1/2 job at its core. It has v8. It has the tools. It could be done but no. It did nothing for years until Deno and Bun came on the scene to nudge it.

pjmlp 22 hours ago [-]
So JavaScript in general.
pfzero 14 hours ago [-]
But why do you need an alternative to node in the first place?
xscott 1 days ago [-]
Not that my opinion matters much, but I like Deno. I never tried Bun.
verdverm 1 days ago [-]
imo, node is fine, they have done a lot to improve and the menagerie of js runtimes have largely converged
0-bad-sectors 24 hours ago [-]
I think this is a great chance for us to evaluate how capable AI is and at what cost does it deliver such capabilities.

I would love to know how much token they spent on the rewrite starting from deciding to rewrite till they actually ship. I assume since the beginning of this whole rewrite saga they have been spending tokens on it every day so the number that Jarred mentioned in his blog post has increased a lot since then.

Also assuming the future releases will be done through AI as well I wonder how much it will cost for each of them.

SaucyWrong 11 hours ago [-]
Jarred wrote a lengthy blog about the rewrite a little while ago and IIRC the token burn numbers were in there (or at least the burn up to that point in time).

https://bun.com/blog/bun-in-rust

tipiirai 1 days ago [-]
I've been a heavy user of Bun since 2022. The last three months of their public timeline have not looked good, so I wanted to summarize my frustration
unified101 1 days ago [-]
Then simply say this, and no need to have a clickbait title?
worthless-trash 1 days ago [-]
> Bun 1.4 Rust rewrite is not looking good

This is.. clickbait ?

unified101 1 days ago [-]
Sure - the implication that the rust rewrite is technically bad, which is not what the article is about.
Havoc 9 hours ago [-]
Could have sworn I read this exact article a month ago
aneryu 1 days ago [-]
Based on my experience so far, code written by today’s frontier LLM is generally trustworthy, though it still requires human oversight.
SaucyWrong 11 hours ago [-]
This remains one of the strangest and frankly most annoying beefs I’ve ever read about all decade, and I say this as somebody with no particular affinity for bun, rust, or zig.
conartist6 4 hours ago [-]
I think the rewrite will end up being more expensive (for the same quality) because AI was used.

At the same time this specific rewrite is being used to drive the narrative that reading the code is counterproductive.

If they had delivered their promises, they might have convincingly delivered that argument.

...but the cost keeps going up and up and up and up! If it was only the token costs it might still be economically viable, but I'm imagining that when you add in the pro-rated salaries of the human engineers this would start to look like a financial blunder even if it released today.

It's true that I don't want a success story told about a failure, because then replicating the "success" would likely produce lots more bad outcomes

okeuro49 1 days ago [-]
Counterpoint:

> Our conclusion is deliberately modest: under the conditions Prisma Compute cares about, the Rust rewrite behaved better than the stable release we had been testing. That was enough to change what we shipped.

https://www.prisma.io/blog/bun-rust-rewrite-prisma-compute

tonyhart7 1 days ago [-]
lmao

need 5 trillion more Opus token

jemiluv8 1 days ago [-]
Yet another clickbait making outrageous assertions. Fwiw I don’t think anyone’s reputation is on the line and so far, you’ve offered only anecdotal evidence at best. Things like this should be backed by stats and community surveys and a whole lot more. I didn’t see anything about number of downloads or any of the usual metrics used to judge software these days

Your whole scientific endeavor in this seemed to thrive on the rock solid foundation of tweets.

And all those referencing of the Kelly post makes this even more of a clickbait. All you had was to put all the ingredients of a post that will draw the crowd but offer very little on the subject matter it purported to discuss

stpedgwdgfhgdd 1 days ago [-]
The article is about the upcoming 1.4 release.

The article lists various promised release dates, are they incorrect?

jemiluv8 1 days ago [-]
I haven’t verified the dates of the tweets. But it is a huge leap from a delayed release to a major conclusion that “the rewrite is not looking good”.
jibal 6 hours ago [-]
What "promises"? There were no promises, just some optimistic informal tweets.

Sheesh.

1 days ago [-]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 09:35:46 GMT+0000 (Coordinated Universal Time) with Vercel.