Комментарии:
All you guys are losers, I write my web server in assembly and with my 8 years P.hd in CS from MIT experience... Let's se wo gonna challenge this
ОтветитьWhat API library was used in RUST for this test?
ОтветитьI like rust but in my opinion writing good concurrent code is pretty hard. I build a implementation of Conway's game of life where in go it was easy to do. I used two threads: one where the game would update (iter the game following Conway's rules) and in the other thread I rendered the game with Raylib. In go it was as easy as go func() {game.update()} in rust, it was a whole different story. I had to use an arc mutex to be able to move the game struct around. It also worked poorly, getting less FPS than Go! (I get it isn't that fair of an example given I'm using a external library, Raylib, but they are pretty much 1:1 bindings of the C version). I love Rust's safety, Rust's syntax, I love ranges, I love enums, I love traits, but I hate concurrency. I know it's probably my fault for using an arc mutex to move a struct around but I couldn't find a better way and in Go it was just as simple as using it.
ОтветитьBig thanks for this web hosting guide! Ive experienced GoDaddy and Hostinger, but Cloudways with TST20 couppon is the true wallet-saver.
ОтветитьNice idea, i'm I was thinking about it
::)
That really looks like an upload / download speed limitation. They were all coming in right around 3MB/s transfer when running in Linode. It's pretty unbelievable the bottleneck is the server or Linode's network. If that is a limitation from Linode, then it'd be better to test against AWS or GCP.
ОтветитьPresenting runtime comparisons in a game streamer format... not my favourite thing.
Ответитьdjango supremacy
Ответить100c is too ridiculous
ОтветитьNode Tokio!
Ответитьit would be so cool if u made this benchmark (maybe adding some more technologies) and walk us through it :)
ОтветитьBun would be better if unlike the others didn’t limit its entire community space to proprietary Discord.
ОтветитьWhat’s FFI? Same FFI as other FFIs?
ОтветитьWhat an ugly way to show the results. Scrolling to compare? Are you kidding me?!
ОтветитьInteresting but does this matters for 90% of the apps out there?
ОтветитьThere is a big outlier in the rust data in the max requests per second being 138k while all the other samples have values that are significantly lower.
The average req/s and stds are comparable for all the samples while this datapoint is out by about 5x and unexplained in the article.
You make it sound like all C++ implementations should be equally fast. There's also the rigmarole involved in the FFI when calling a C/C++/Rust/Zig implementation from a js/python/etc interface. There's sufficient places for variance.
ОтветитьWe dont know how node is configured and what config is behind multithread. I bet its configured bad and not all cores are utilized.
ОтветитьDamn, I love Deno 🚀
ОтветитьWhy does Deno not make it to the conversation?
ОтветитьI get the results but I hate how he presents them why didn't he make some plots to read the results in an easier manner
Ответитьdeno cries in a corner. They are not even considering me for competition.
ОтветитьImagine having a web server more complicated than `nc -lc jq`
Tom's a genius btw
Bun is the cutest. Bun wins.
ОтветитьThat was the coldest hot take I've ever seen
ОтветитьVery bad comparation format ... I like your video but Dislike post xD
Ответитьc# would have destroyed all of them if it was included
ОтветитьThis is an unfair comparison node rust and go are tested in runtimes and the other is a buntime
ОтветитьWe need to add PHP to the mix of "cool kids"
Ответить11 out of 10 of these types of tests always result with a :facepalm:
ОтветитьI honestly thought bun being faster because of uWebsockets (I used from c++) - so this seems so much JS overhead of just the language???
ОтветитьBut can you write an OS with Bun
ОтветитьGo is the language. Fast enough, simple enough. Everything else is a madhouse these days.
ОтветитьI'm a little worried about the connection?
Well you should be worried a lot. No one should do a comparative benchmark over a network. LOL.
PHP and jQuery
ОтветитьWho is Kyle Simpson? I mean, the NAME.. starts with simp
ОтветитьWe are almost never CPU limited at the application level, and if we are, we just scale to more nodes. Which is why Rust and Go are not really that important to 90% of scenarios. And for that 10%, I would probably use C or C++ anyway and make the library accessible to Node. Less hassle.
ОтветитьNext time look at req/sec.
ОтветитьThese sorts of benchmarks are always very dumb as it's always done by a developer that knows one thing way better than the others and can make one thing in one language way faster than all the others. It's like asking a fish if it's faster to travel by sea by land or by air. Guess what the fish will pick. .
ОтветитьIt's hilarious because Python devs would be more than happy to get the numbers node got
ОтветитьI did a similar test locally using drill to measure the performance and bun did very well.
Ответитьthe second (Linode) set of tests is not really useful because most of the time is spent waiting for the network (his local PC <-> Linode)
ОтветитьThe cloud servers are the bottleneck here. This drawback gives bun the time to catch up with rust/go.
ОтветитьYo. The Article didnt build bun properly (i think). By default bun does --target=browser and not --target=bun, which would be the intended thing for a serverside usecase. But the results still make sense in general.
Ответить