⚠TRIGGER WARNING⚠ two tokio-rs repos (this and toasty) have AGENTS.md files.
BB_C
exposed ABI
ABI is not something that gets "exposed" or not.
it will always be ambiguous as implementations are hard to compare across languages
Correct.
in the transition for x86_64 they were seeing up to 70% increase in compile speeds
And that was a part of what I was hinting at, because you get >>70% speed-up with Cranelift in most Rust projects. But in either case, faster code generation is not free lunch, hence the mention of comparable runtime performance of generated binaries.
You know bindgen exists, right?
That has nothing to do with what we were talking about. And in any case:
insanely fast
Needs qualification vs. other languages for binaries with comparable runtime performance.
(Hint: you will be surprised.)
with incremental rebuilds
Not special or unique.
and can watch files for changes
Not only not special, but literally exists in all workable build tools. bindgen+build.rs is the Rust version of this.
a c compiler not just using ffi.
Beyond what amounts to a packaging difference, what does that even mean?
How do you think zero-cost C ABI support (including fully working cross-lang LTO) works in lang implementations that have that? And how do you think that's different from what Zig gives you?
and memory safety is checked through unit testing
🤣 🤣🤣🤣🤣🤣
You can trivially use C libraries in Rust, or any system language that supports the C ABI for that matter, and this includes many hobbyist languages. Zig is not special.
You could have searched for some benchmarks yourself, instead of thinking you're winning an argument in such a stupid manner.
Note that Jarred himself (bun creator) wouldn't push against this either. Instead, he will sell you the aggregate performance talking point (as another user did), which is why I made my deliberately facetious comment about webshittery.
can execute TypeScript directly.
Did the word "directly" get the same fate the word "literally" got? As in, it completely lost its real meaning?
Bundling a compiler/transpiler and directing inotify at a source directory (for glorious hot-reloading) doesn't a language "runtime" make. Otherwise, I can create "runtimes" for any language in three lines of code right now.
unless you’re saying that Bun is slower.
Are you saying JavaScriptCore is faster than V8? Or is the majority of time in webshittery operations not spent on actually running code, and that's how bun "wins" ?
First of all. Strictly speaking, there is no such a thing as a TS runtime. TS compiles to JS.
Second of all, bun binds against JavaScriptCore, which is the JS engine used in Safari. Node binds against V8, which is the engine used by Blink (Chromium et al). Both are implemented in C++. And the latter is considered the fastest engine.
Ironically, both engines are mentioned by name in the very bun blog post being discussed, which points to a problem that is almost bigger than mere tech literacy from the pseudo-intellectual OP.
the portable assembly meme
🤣🤣🤣🤣🤣🤣🤣