Live data from Hacker News

Show HN: BusterMQ, Thread-per-core NATS server in Zig with io_uring

bustermq.sh

11–20 of 78 posts

Re: Show HN: BusterMQ, Thread-per-core NATS server in Zig with io_uring

#11
post #3

I did a similar thing few days back just not with NATS protocol (Made it pure websocket based), and with rust. Couple of questions: - Where did you get the machine to test your server on? - Why did you end up going with zig?

Anyone can buy a 9950x on Amazon or any tech store, it's consumer hardware.

Re: Show HN: BusterMQ, Thread-per-core NATS server in Zig with io_uring

#12
post #6

Earlier quoted context omitted.

Downvote for this web site is a horror movie billboard and zig already has a build system which is zig and that's one of it's neat features.

People are free to knock themselves out with Bazel if they’re into that kind of masochism, but having it as the ONLY way to build your OSS project is a big no.

Yeah I'm never touching Bazel again. I value my sanity.

Re: Show HN: BusterMQ, Thread-per-core NATS server in Zig with io_uring

#13
post #5

Upvote for Bazel. I think these days I place a lot more value on how well an ecosystem slots into Bazel/friends because monorepos are increasingly more useful and relevant. So nice to see there are good rules for Zig and that folks are using them. Also ironically I think starting with Bazel/Buck/whatever your poison of choice is almost always a good move even if people tell you it's overkill. The easiest time to do i…

agreed, love Bazel + BuildBuddy

Re: Show HN: BusterMQ, Thread-per-core NATS server in Zig with io_uring

#14
post #9
post #6

Earlier quoted context omitted.

Downvote for this web site is a horror movie billboard and zig already has a build system which is zig and that's one of it's neat features.

The problem with "the language tooling is already a build system" is that cross-language dependency chains are a thing. The moment you need a Rust or Zig file to be regenerated and recompiled when a JSON schema or .proto file is updated, you're outside what most of those language-specific toolchains can support. This is where Bazel absolutely shines.

If all of your dependencies need to use the same build system as your project then your build system/process is defect anyway. It should be possible to invoke a foreign build system as part of your build.

Re: Show HN: BusterMQ, Thread-per-core NATS server in Zig with io_uring

#15
post #9
post #6

Earlier quoted context omitted.

Downvote for this web site is a horror movie billboard and zig already has a build system which is zig and that's one of it's neat features.

The problem with "the language tooling is already a build system" is that cross-language dependency chains are a thing. The moment you need a Rust or Zig file to be regenerated and recompiled when a JSON schema or .proto file is updated, you're outside what most of those language-specific toolchains can support. This is where Bazel absolutely shines.

Rust build system can do all that just fine though

Re: Show HN: BusterMQ, Thread-per-core NATS server in Zig with io_uring

#16
post #3

I did a similar thing few days back just not with NATS protocol (Made it pure websocket based), and with rust. Couple of questions: - Where did you get the machine to test your server on? - Why did you end up going with zig?

Anyone can buy a 9950x on Amazon or any tech store, it's consumer hardware.

Given that this entire project is a single[1] vibe-coded commit, I really doubt the author bothered buying hardware to test it.

[1]: https://github.com/bustermq/bustermq/commits/master/

Re: Show HN: BusterMQ, Thread-per-core NATS server in Zig with io_uring

#18

[flagged]

Oh god no. Just having fun with zig and being a little over enthusiast I guess. I'm a big fan of nats, and really wanted to see how far you can push the idea if you do it differently. I was not expecting that tbh but, hpn too!

Re: Show HN: BusterMQ, Thread-per-core NATS server in Zig with io_uring

#20
post #3

I did a similar thing few days back just not with NATS protocol (Made it pure websocket based), and with rust. Couple of questions: - Where did you get the machine to test your server on? - Why did you end up going with zig?

My personal rig and Zig because I worked with it for a little more than a year. It was a fun test to do.
Post reply on HN