► What should I test next? ► AWS is expensive - Infra Support Fund: buymeacoffee.com/antonputra ► Benchmarks: kzbin.info/aero/PLiMWaCMwGJXmcDLvMQeORJ-j_jayKaLVn&si=p-UOaVM_6_SFx52H
So he is real and not a robot from another dimension doing benchmarks on human technologies! 😂
@AntonPutraКүн бұрын
😊
@ulrich-tonmoy21 сағат бұрын
i was so focus on the video i didnt know until i came to read comments after finishing the video
@rvftКүн бұрын
Your channel's quality has drastically increased over time. I really enjoy watching your videos. Good job man, keep it up!
@AntonPutraКүн бұрын
thank you! i do my best
@dacam2922 сағат бұрын
True! 💯
@farshadm90020 сағат бұрын
+1 Respect
@TweakMDSКүн бұрын
Heyy we have a facecam, good progress! :) Also, I want to make a bit of a brave and maybe unrealistic suggestion: Azure vs AWS vs Google Cloud. Some workload similar to what you normally do. Choose similar machine types and storage, use each cloud provider's Postgres as-a-service solution.
@isenewotheophilus6485Күн бұрын
That test will be flawed, the data centers might be far from each other
@saiphaneeshk.h.5482Күн бұрын
@isenewotheophilus6485 same server location can be used right?
@TweakMDSКүн бұрын
@@isenewotheophilus6485 agreed, and there's probably too many variables to consider, with hundreds of machine types and network settings that may change latency. Still would be nice though
@commonfolk663Күн бұрын
It would make a lot of sense, here we're coming to conclusion that 20ms over 24ms per request at 80k rps is "Speed". But in reality, 24 ms is barely ever reachable in any capacity of interaction, other than server-server within same data-center.
@unom823 сағат бұрын
@@isenewotheophilus6485he runs his tests with network local clients, it should be possible to do the same in this situation
@daniellionel01Күн бұрын
Super cool, thank you! BEAM languages, such as Erlang, Elixir & Gleam would be fascinating!
@AntonPutraКүн бұрын
thanks! will do soon!
@RaphaelBobillot4213 сағат бұрын
Well, as Gleam compiles to Erlang, I'm not sure that it would make any benchmark difference ? But I would be genuinely amazed to see an actual diff !
@daniellionel017 сағат бұрын
@@RaphaelBobillot42 Yeah that's true. Elixir compiles to erlang bytecode, as I understand it, so there shouldn't be much of a difference between those three languages. I guess it'd be more interesting to see any of those languages against Rust/Go/Node/...
@TonyAlcastКүн бұрын
I appreciate so much the effort you put into this! Thank you.
@AntonPutraКүн бұрын
my pleasure!
@gggggggggghhhhoost4 сағат бұрын
I can only pray for your success and growth. Thank you for bringing more competition in dev tech with benchmarking :)
@mptczКүн бұрын
Killing it Anton! Thx for your hard work making these videos.
@AntonPutraКүн бұрын
thank you!
@isaacdruinКүн бұрын
Hey, just wanted to say that I love these! At some point, I would like to see a short course on the subject. Just working through test setup, things your take into consideration, testing codebase development, etc etc.
@guibirow87Күн бұрын
Advice for future benchmarks, when you monitor apps built on languages with garbage collection (java, javascript, c#) you should also monitor gc collections, pauses and so on. This is is one of the biggest performance bottleneck on these languages.
@AntonPutraКүн бұрын
Thank you. I'll include it in the upcoming benchmarks, though it may not appear on the main screen and will be shown at the end of the test
@InXLsisDeo19 сағат бұрын
@@AntonPutra For Java, it's complicated because the JVM has several GC algorithms, and then there are several JVMs with different performance profiles, so you need to adapt to your application, which is time consuming.
@alektobiasКүн бұрын
Oh perfect! exactly what i was looking for!!!
@AntonPutraКүн бұрын
my pleasure! 😊
@gadgetboyplaysmcКүн бұрын
Waited so much for this!
@hugodsa8918 сағат бұрын
I love how your videos are getting progressively and incrementally better and better each time. 👍🏻 Loving it. As an application layer guy this is stuff that I really don’t get as much exposure to, but would love to.
@zuzelstein20 сағат бұрын
Антон герой нашего времени! :) Классно бы было проверить дикие, хайповые базы: 1) Surreal DB vs Edge DB (vs PostgreSQL для масштаба). 2) SQLite vs PostgreSQL
@wayz9Күн бұрын
I would love to see how plain PHP, Laravel and Symfony app would perform. Great video as always. Keep up the good work!
@AntonPutraКүн бұрын
thank you! i'll do php soon
@whoeverseesthatbehappy2722Сағат бұрын
@@AntonPutraplease, if possible, add to your list comparison between any javascript interpreter (bun/deno/node) and laravel octane. I would really love to see what superceeds - fixed amount of workers or event based exexusuon
@lucsoftКүн бұрын
bun doesn't have that big of a leap it wants to claim, bun's benchmarks are really gaming
@truongan354Күн бұрын
Benchmark is really gaming
@7heMechКүн бұрын
In this case yep, but I've used Bun for the past few months and it's a really different DX, everything like installs, runs and tests happens instantly
@lucsoftКүн бұрын
@@7heMech well same as deno lol, like in deno you don't even need a install step HTTPS Imports FTW! (bun lacks these, which is a big miss)
@SAsquirtleКүн бұрын
gaming
@AntonPutraКүн бұрын
🤷🏻♂️
@svendpaiКүн бұрын
I love these tests! so insightful
@AntonPutraКүн бұрын
than you! will do more
@Zizaco5 сағат бұрын
So up to 50.000 req/s Deno smashes the competition in terms of Client Request Latency all while being more stable. I will go with Deno. Thanks!
@paulorodriguez6288Күн бұрын
amazing, lets not underestimate node just yet
@oliverfoxi18 сағат бұрын
Having comments on graphs makes video more interesting. Thanks ❤
@drtangent201822 сағат бұрын
Damn... last time I saw your video about 2 weeks ago, I was thinking to comment about these 3... but for some reason I forgot to comment it, but you still made the video
@everyhandletakenКүн бұрын
Very surprised to see Bun handle that many rps.. impressive.
@UliTroyo22 сағат бұрын
Hey, nice to see your face! The quality of your videos is very high content-wise, and now it's also getting that stylistic polish.
@MattBodman14 сағат бұрын
Great video! I don't understand how Deno can publish such different looking results. According to their latest marketing push, Deno beats Node and Bun in many metrics. Am I missing something or are the folks at Deno stretching the truth?
@Zizaco5 сағат бұрын
Benchmarks are all about which metric you consider the most important. Deno got the best overall Client Request Latency. One could argue that's what matters the most. (Which depends)
@albertmarzo21 сағат бұрын
YEEEESSS!!!! I WAS WAITING FOR THIS VIDEO!!
@PraveenYdvOfficial21 сағат бұрын
Nicely Explained with proof and visual. Loved it
@VictorSanikovich23 сағат бұрын
Any chance to see comparison of Full Stack Frameworks such as: Laravel, Ruby on Rails, Phoenix ect...?
@Luisintosh22 сағат бұрын
Awesome! I really liked this video, pretty interesting and better quality 👍
@JT-mr3db21 сағат бұрын
Hats off to node for holding its own.
@GolderiQ22 сағат бұрын
I’ve been telling you to use `deno serve -parallel` with the new syntax `export default { fetch(req): Response }` man!
@AntonPutra22 сағат бұрын
I remember, I'll do a multithreaded benchmark as well
@denetralizeКүн бұрын
please do it for nginx vs caddy vs openresty lua vs golang
@isenewotheophilus6485Күн бұрын
he did nginx vs caddy before
@isaacdruinКүн бұрын
@@isenewotheophilus6485people are so lazy. He's going to be testing some fringe tech in 6 months and some noobie is going to show up like "node vs bun, please!"
@isenewotheophilus6485Күн бұрын
@@isaacdruin 😂😂😂
@GorniusКүн бұрын
Lua vs go? They are not even comparable. I mean their purpose is totally different. One is compiled, garbage collected static typed language and the other is easy to embed dynamic language. It's like comparing shopping cart with airplane.
@yoloopenКүн бұрын
@@Gornius openresty is sponsored by cloudflare to embed and run scripts inside nginx, they could somehow use Go instead if they really wanted, but they chose Lua. No two languages are the same, sure they're different, but you can use literally any language for any kind of task, and sometimes the results may be surprising. Golang borrowed multiple return from Lua btw. Also they both share the keep it simple philosophy.
@ishaanmalhotra300821 сағат бұрын
Thanks, I was really looking forward to this! I had high hopes for Deno 2, sucks that it doesnt perform as well.
@wojciechosinski59277 сағат бұрын
Same. It turns out they lied about benchmarks on their presentation. What a pity
@Zizaco5 сағат бұрын
@@wojciechosinski5927 it depends on which metric is the one being measured. Overall Deno performed better than Bun in Client Request Latency. One could argue that's what would matter the most in most use cases? So there's always a tradeoff (less memory/CPU vs client latency)
@jiinyeongoh745823 сағат бұрын
Deno and Bun are both real fast! But for now, I'll stick with Node.js due to its ecosystem. Regarding the Requests Per Second (RPS) result, Deno 2 showed slightly lower RPS compared to Bun, likely because V8 pointer compression is disabled in Deno 2. If this issue is addressed, Deno 2 could potentially match Bun's performance!
@Mr.BinarySniper22 сағат бұрын
Yeah, I am also thinking this.
@GrigorMinasyan20 сағат бұрын
He was using deno 2
@alanwilliamduarte561719 сағат бұрын
what do you mean by ecosystem? isn't bun and deno compatible with all npm packages? and run on all major platforms? what bun and deno does not have that nodejs have?
@brietoe10 сағат бұрын
@@alanwilliamduarte5617 This is true.
@eugeniorosario4509Күн бұрын
Thank you for the video, Bun did great, so I'll stick with it.
@MrEvilGalith9 сағат бұрын
That's a lot of videos! I would very much appreciate a reminder at the beginning of videos stating that synthetic benchmarks like these ones are not representative at all of real world scenario. Each real situtation deserves its own benchmarks, taking into account its specific context and constraints. And I feel like in most real word situtations the differences displayed in these benchmarks are negligeable.
@AlexanderBorshakКүн бұрын
Nice to see your face. Much better!
@AntonPutraКүн бұрын
thank you!
@nvictorme23 сағат бұрын
Fantastic and eye opening video. Very well done. Thanks.
@AGAU10225 сағат бұрын
Awesome. Thanks again.
@SamerLOLOfficialКүн бұрын
Thank you for your videos, keep it up.
@AntonPutraКүн бұрын
will do 😊
@semihakyuz903322 сағат бұрын
Great content, thank you. I'm curious about EncoreTS; is it as good as they claim?
@PedrodeCastroTedesco14 сағат бұрын
Great videos! I get the impression that if I need an application that interacts a lot with a database, Node can be a good choice to some extent. Would it be correct to say that if my application only needs to process requests and interact with other APIs, bun performs better than Node?
@Zizaco5 сағат бұрын
The persistence layer (database) will be the bottleneck in virtually all cases that need persistence. In these cases, optimization is all about slow db interactions as much as possible (caching, indexes, query optimisation). The 2ms difference of the runtime is negligible compared to all db ops.
@VictorMongi11 сағат бұрын
Thank you from indonesia
@kvancguckran766215 сағат бұрын
This is the content quality that the people should be after.
@HananoKairoКүн бұрын
The Great JS Clash shall begin!
@YordanPetrov-hd9vzКүн бұрын
Hey great content thanks for the videos. Can you create a tests for spring boot servlet container tomcat vs jetty vs undertow ?
@metinsut16 сағат бұрын
I hope your tests are fair, thanks for share
@diobrandoggo747116 сағат бұрын
Please be careful with Deno. Found some funny stuff for that. I created a small project for an interview using next js. And with then app router stuff. What happened is that I used curl to send a Delete request with Body to my app, but could not find the body as it only returns ReadableStream: false. Switched running to NPM and it just worked. It was just a simple logging the passed data. Soo again, just be careful
@tsubasateacherКүн бұрын
Anton, you have 3 videos for Rust VS Zig. the latest video shows that Zig beat Rust but the other two are the opposite. Which video should I bring to my boss if I want to use Zig? 😆😆😆
@BeeBeeEightКүн бұрын
The boss probably wouldn't care 😂. Anyway, Zig vs Rust is not very conclusive as both are system-level PL and non-GC. It's more accurate to say they run almost neck-to-neck. But there is definitely a greater possibility than Rust that anything built in Zig/C/C++ can have bugs because they have weaknesses in memory management, we don't need a devops benchmark to know that.
@AntonPutraКүн бұрын
Whenever I get a PR with improvements, I rerun my tests, so I guess the latest one is the most accurate. However, it uses a Zig framework with the new io_uring Linux kernel feature, which is why it's better. I also got a PR with Rust support for io_uring, but it's using experimental flags. I would suggest going over the PRs in my repo and looking at the detailed improvements with benchmarks attached.
@tungthanh4297Күн бұрын
love this
@AntonPutraКүн бұрын
thank you!
@darkoplax7688Күн бұрын
Drizzle vs Prisma ; with postgres
@VikyWicaksono-z9v23 сағат бұрын
Terima kasih banyak bro 😊
@SR-ti6jj17 сағат бұрын
You are the goat Anton
@abcxyz752916 сағат бұрын
Backend Javascript is like string theory. Created to solve a need no one had, exhausting vast mindshare of the developer community, dependent on shaky premises, millions of hours poured in to make it do something it wasn't designed for, all to end up as Golang with footguns at best.
@justpatrick_6 сағат бұрын
People are still making money with them. You may not like their technical aspects but at the end of the day what matters is what you do with the tech
@abcxyz75295 сағат бұрын
@@justpatrick_ It's for frontend dev. And junior backend devs who think BE and FE TS are interchangeable. Large amounts of time spent by teams trying to make the concurrency model work. Promise today, no promise tomorrow. Servers crashing because it's not doing what it was designed to do, randomly crapping out on weird bugs with kernel syscalls. Then they finally give up, and hire my team to go in to migrate everything to Golang, C++ or Java. Suddenly everything is super boring because nothing ever happens because systems are doing what they are supposed to do. So they go off and find new systems to migrate to TS/JS to stay employed. Do they make money? Yes. Do I make money from cleaning up after their trash. Also yes.
@somebody-anonymous23 сағат бұрын
Awesome! (I skipped ahead a bit to the tests, the first part was a bit technical for me for just casual viewing) Ryan said deno is also optimized for cold starts. I think bun has made claims about being able to install packages quickly as well. Maybe that could be part of a test?
@buildingblockdev2 сағат бұрын
I'm glad to see your face. It feels more natural to watch your videos. I like your eyes though
@jonatthu23 сағат бұрын
Keep this series please, use popular libraries with these same frameworks, prisma, drizzle, different redis clients!
@GameBully2KКүн бұрын
I think of it he does it 🙌🙌 do you use k6?
@AntonPutraКүн бұрын
no i use eks
@RatonBroyeur21 сағат бұрын
Would have put one database by language to avoid cross contaminating your results. Otherwise, nice video as always !
@skuwamyКүн бұрын
JS Devs will suggest 20+ frameworks and 20+ libraries.
@AntonPutraКүн бұрын
It's always been like that 😊
@phpn99Күн бұрын
Excellent. When you can : Erlang / Elixir vs alternatives for concurrency
@roccociccone59723 сағат бұрын
go vs elixir would be very interesting
@rstuv-019 сағат бұрын
someone already did that and go won from elixer but C# was unbeatable
@AlexanderMoon17 сағат бұрын
Thank you!
@gectoktokot108717 сағат бұрын
Haskell please? 🥺
@ashish99311Күн бұрын
thank you 👍
@stokbrood20 сағат бұрын
What if you run them with --parallel (I believe only Bun & Deno support this)
@drithКүн бұрын
damn, good video
@AntonPutraКүн бұрын
thank you!
@r1nlx0Күн бұрын
that's interesting, I firstly though the memory between deno & bun would be almost the same (probably bigger than node). I though it's mostly because of the Typescript -> JS transpiler cache in both deno & bun, but turns out it might not because of only that in deno cases. I suspecting V8 memory fragmentation might be worst than JSCore (JSCore has much more simpler JSValue encoding than V8).
@AntonPutraКүн бұрын
Thanks for the feedback. On a side note, I don't use TypeScript, just plain JS.
@MAK_00723 сағат бұрын
tell us about the total bill for those machine usage as well
@Hakanxyz17 сағат бұрын
Thanks for effort
@MinhazurSarkerКүн бұрын
Bun is based on uWS (uWebSocket)... What if we use uWS in node?
@truongan354Күн бұрын
Node too uses uWS
@slansky662622 сағат бұрын
Hey, it would be nice to have a Spring Webflux vs Quarkus vs Golang benchmark, the last quarkus vs golang didn't show the breaking point of any of those. Thank you for this awesome job!
@shine817122 сағат бұрын
Using Spring Webflux on a real project I can tell you it is disappointing as we didn't see any perf better than classic Spring Web
@James00026Күн бұрын
дино 2 должен же быть самым быстрым и эффективным судя по их графикам и пресс-релизу)
@AntonPutraКүн бұрын
well i'm open to rerun the test if anyone can make it better 😊
@julienlecoq35392 сағат бұрын
@@AntonPutraNo, their charts on the press release do not use Deno 2. It’s an old chart with an old Deno version.
@rubenchiquin37683 сағат бұрын
I would love to see a benchmark of sqlite vs postgres!
@SoreBrain16 сағат бұрын
I would be very interested in someone doing this but not just micro benchmarks
@ibnurasikhКүн бұрын
Haha, this reminds me of the Fireship channel, where viewers often joke that it's AI-generated because the videos only use a voiceover.
@AntonPutraКүн бұрын
😊
@DarthEd7723 сағат бұрын
I would never use `--watch` with Deno in a production environment. That option/feature might be what's causing the higher latency in Deno?
@LtdJorge21 сағат бұрын
Nah, I think --watch just uses inotify on the directory. So if there are no changes, it doesn't affect the program in the slightest.
@DarthEd7718 сағат бұрын
@@LtdJorge Oh, good point. Yeah, I guess that's all right. Thanks for pointing that out.
@code1866Күн бұрын
What do you use for animated diagrams? 🎉
@AntonPutraКүн бұрын
adobe suite
@samgraham6355Күн бұрын
Node did really well with Postgres
@AntonPutraКүн бұрын
💯
@garretmh16 сағат бұрын
They’re all using the npm Postgres package which is probably finely tuned for node.js (rightly so)
@commonfolk663Күн бұрын
Brother! Correct lighting setup this instant :D Spare your eye and skin. Light should be higher and more dispersed.
@AntonPutraКүн бұрын
🫡
@safdar_azeemКүн бұрын
Bun crushes it! 🚀
@Mr.BinarySniperКүн бұрын
🤣🤣 checkout previous benchmark. even slower then nodejs in reallife testing.🤣
@AntonPutraКүн бұрын
😊
@bcassol23 сағат бұрын
Yeah good to see that Bun performs better than node and deno. Jarred is just OP
@justinnl43324 сағат бұрын
@@bcassol yeah I am sure Jarred and his team works like crazy
@Matty018721 сағат бұрын
Can we see these with vertical scaling enabled. Rectangular scaling of 6 cores is better for cpu bound applications. Try it : 🙏🏻
@conman764423 сағат бұрын
It would ge interesting to do this with a bit more of a complex application. Which would need some more intricate test suite, but still...
@diogo611520 сағат бұрын
So what is the cons of Bun? It's better in every metrics, it may have some downside.
@kanji_nakamoto2 сағат бұрын
Bun is the reason the Deno team shifted! Bun is taking over!
@retakenroots22 сағат бұрын
Can you also provide real world applications that have this request load? Because if 90% do not then these metrics are less interesting
@shyamg937422 сағат бұрын
What was the total AWS Resource cost for this Performance test?
@FlyWR55 минут бұрын
You say and title the video postgres but the graphs say mongodb. A bait? Probably, but what was the actual db?
@Ar3Schannels19 сағат бұрын
how do you generate those awesome charts?
@arturoaguilera516753 минут бұрын
I chose Deno over Bun not just because of the usual claim, 'my runtime is faster.' The real reason is that, unlike Bun, the Deno team takes a more thoughtful approach to features. Bun releases features that no one asked for, including monkey patching.
@navinkumarsahu115922 сағат бұрын
Putra is a Sanskrit word the oldest language of the earth Putra basically means son ❤
@gooddonuts94507 сағат бұрын
And I thought he was an indonesian as putra is commonly used here in Indonesia lol
@navinkumarsahu11597 сағат бұрын
@@gooddonuts9450 Indonesia was very much connected and United with India before Muslim/Islamic invasion
@TAINCER_22 сағат бұрын
7:05 How can deno drop request yet retain 100% availability?
@LtdJorge21 сағат бұрын
It's being throttled by K8s, I guess it just returns 500 for those? Or the contrary, it may be returning a 200 but super late.
@Zizaco5 сағат бұрын
Perhaps the number is rounded.
@729usbow13 сағат бұрын
good thing you are a person and not an AI
@prerit714Күн бұрын
I guess overall rust's memory safety at runtime is at work with deno when we compare it to bun or node causing it to have more latency. Great video though
@AntonPutraКүн бұрын
thank you! will do
@NabekenProG8723 сағат бұрын
What memory safety feature in particular though? A lot of the safeguards are just present at compile time and in debug mode. Bun and Deno use different JS engines (V8 vs Apples ???). Another possibility could just be the efficiency of the libraries in each language. I also heard that the Bun creator does a lot of micro-optimizations. Overall, I think there are a lot of reasons for the performance difference. Comparing 2 languages by the performance of their ecosystems is very hard.
@smoked-old-fashioned-hh7lo22 сағат бұрын
@@NabekenProG87 yeah it has more to do with optimizations than underlying language. you can completely misuse a language and an objectively slower language could outperform in that scenario. it all comes down to optimizations.
@LtdJorge21 сағат бұрын
Memory safety doesn't affect memory safety or performance, just denies compilation of incorrect operations.
@o_glethorpeКүн бұрын
please, supabase x vercel x firebase x convex scalability vs price
@AntonPutraКүн бұрын
noted!
@wahidfebКүн бұрын
php world please, laravel benchmark
@ekmanhsiehКүн бұрын
🤣 Are you kidding
@AntonPutraКүн бұрын
i'll do php soon!
@kamurashevКүн бұрын
Cool
@toddfisher8248Күн бұрын
Should do python vs ruby next!
@AntonPutraКүн бұрын
It could be fun, last time, I got 3 to 5k RPS out of Django. 😊
@SharunKumar13 сағат бұрын
The blurring on the first part of the video doesn't really hide much 😅