Go (Golang) vs Node.js: Performance (Latency - Throughput - Saturation - Availability)

Поделиться
HTML-код
  • Опубликовано: 21 ноя 2024

Комментарии • 348

  • @AntonPutra
    @AntonPutra  Месяц назад +1

    ► What should I test next?
    ► AWS is expensive - Infra Support Fund: buymeacoffee.com/antonputra
    ► Benchmarks: ruclips.net/p/PLiMWaCMwGJXmcDLvMQeORJ-j_jayKaLVn&si=p-UOaVM_6_SFx52H

  • @germandavid2520
    @germandavid2520 Месяц назад +47

    It's really cool that you make new videos with the corrections, we can all check those PRs here and learn something new.

    • @AntonPutra
      @AntonPutra  Месяц назад +13

      thanks, the more mistakes i make, the more content i generate 😂

  • @JT-mr3db
    @JT-mr3db Месяц назад +54

    Now we can finally justify moving all of our tech stacks over to Go and blow our 2 users minds.

    • @a0flj0
      @a0flj0 Месяц назад +1

      He also did a test Rust vs Go, also in two versions, an initial one and one after receiving feedback. Rust is way better than Go.

    • @LiveType
      @LiveType Месяц назад +2

      python -> go pipeline is 100% worth it. 10x improvements on the same hardware are pretty typical with a moderately complex application.

    • @commonfolk663
      @commonfolk663 Месяц назад +4

      @@a0flj0 Rust is on whole other level. IDK why would anyone redo anything in Golang if he has resources.
      Go is a good language to bootstrap things, but it falls off quickly in almost any scenario. Even if you use much slower languages than Rust or Go, if they're popular they still usually have much better approaches typing and error handling in requests. And then you can just keep adding instances endlessly. Poorly optimized, awfully written NodeJS without typescript would have 0 advantages over simple server in Go, but you can still just throw 16GB RAM and 8 server instances at it and it would work like charm.

    • @AntonPutra
      @AntonPutra  Месяц назад

      😂

    • @Mylordkaz
      @Mylordkaz Месяц назад +1

      @@commonfolk663 most projects don't need Rust or even Go and can do very well with Node. But at the end it's just a case by case and resources availability question.

  • @andreujuanc
    @andreujuanc Месяц назад +53

    Very impressive that NodeJS can handle so many req/s considering it's running on a VM (v8) and Go compiles to native code.

    • @OldKing11100
      @OldKing11100 Месяц назад +3

      I do like these tests since it's mirroring what I'm seeing from techempower benchmarks between nodejs and go-std where Plaintext only really tests server handling.
      JSON 1-query 20-query Fortunes Updates Plaintext
      561,077 299,223 18,137 256,269 7,765 738,221 //Go-std
      320,168 95,776 6,860 70,833 3,048 454,082 //NodeJS

    • @_garicas
      @_garicas Месяц назад +2

      yeah, V8 has JIT, NodeJS has C++ addons, and so on

    • @kamurashev
      @kamurashev Месяц назад +9

      Fully agree, being mostly java dev I'm impressed by js (node) performance. And I know you wouldn't hear it often from Java devs - JS is cool language!

    • @_garicas
      @_garicas Месяц назад

      @@kamurashev do you think the language itself is cool (syntax, semantics, etc) or the runtime? Or both?

    • @kamurashev
      @kamurashev Месяц назад +1

      @@_garicas I think both. Sometimes I miss strong typing but honestly, in case of JS I totally get it. It can be an issue for big projects but it also in case of JS can be a benefit for the small services. I also like package management. And I like the simplicity of working with objects, where I can do whatever I like manipulations.

  • @hardtech1010
    @hardtech1010 Месяц назад +22

    Thanks Anton. I wanted to improve the node code after I saw the previous terrible performance. I have used node for years now and I knew it could do better than what I saw initially. I will never argue node is better than go but I will say it is a very good runtime for most projects if you know how to use it.

    • @AntonPutra
      @AntonPutra  Месяц назад

      true

    • @ireydiak
      @ireydiak 5 дней назад +1

      At my previous company we were hosting multiple web applications including one that had around 42 million unique visitors every month. Everything was hosted on NodeJS servers within a Kubernetes cluster in AWS. It's very impressive what you can achieve with this runtime and K8s.

  • @Perspectologist
    @Perspectologist Месяц назад +1

    I really appreciate this series of videos comparing frameworks, languages, and configurations. It is interesting to see a semi-naive implementation vs an optimized implementation comparison. It is helpful to understand how much configuration can matter. Thanks for making and sharing this content with us.

  • @manwithnoname4139
    @manwithnoname4139 Месяц назад +116

    Node vs Bun vs Deno please

    • @AntonPutra
      @AntonPutra  Месяц назад +21

      next 💯

    • @s1v7
      @s1v7 Месяц назад

      let me guess - bun will be the fastest, node - the slowest

    • @manwithnoname4139
      @manwithnoname4139 Месяц назад

      @@s1v7 It will come out like that, but it would be useful to see and compare the cpu and memory consumptions. Also, Deno and Bun still cannot use all the nodejs libraries. So it is still problematic to switch from nodejs to bun or deno.

    • @snatvb
      @snatvb Месяц назад

      ​@@AntonPutra really interesting
      deno had major update (v2), interesting how much better it's gotten

    • @hermes6910
      @hermes6910 Месяц назад

      @@snatvb Still in RC and not released ? But yeah, definetly want to see Deno V2

  • @bartek5598
    @bartek5598 Месяц назад +14

    Please make PHP8.3 (FPM and Swoole) vs NodeJS comparison. This is what most of web uses now.

    • @AntonPutra
      @AntonPutra  Месяц назад +7

      soon

    • @roger-sei
      @roger-sei Месяц назад

      I love Swoole. Traditionally, PHP is very slow. Would be nice to see Swoole running against Node or GO

  • @hazimdikenli
    @hazimdikenli Месяц назад +2

    Thank you:) I was going to ask for Deno and Bun versions, looks like I am not the only one.

  • @ijazkhan3335
    @ijazkhan3335 Месяц назад +1

    Much better benchmark. Thing I like about Go is that you are mostly sure about your code scaling well the moment you write it.

    • @AntonPutra
      @AntonPutra  Месяц назад

      true, it's easy to scale

  • @artemcodes
    @artemcodes Месяц назад +1

    Very nice comparison, especially the part about the concurrency internals of the languages. The animations were fantastic as well! I was wondering, which tools did you use to make them?

  • @roger-sei
    @roger-sei 25 дней назад +1

    Amazing work, brother. Thanks for the benchmark 🤩

  • @GabrielPozo
    @GabrielPozo Месяц назад +1

    Great about benchmark video like always!!! But this is even better with the explanation about CPU use in Kubernetes.

  • @danielh6453
    @danielh6453 Месяц назад +2

    Great series, really enjoy these. One point - In Kubernetes 1000m (1000 millicores) is 1 CPU core, not 1 CPU

    • @AntonPutra
      @AntonPutra  Месяц назад +2

      1 CPU = 1000 millicores = 100% of 100ms which is default enforceable interval in cgroups

    • @danielh6453
      @danielh6453 Месяц назад

      ChatGPT suggests it's actually a percent of 1 vCPU, which is one CPU thread or one core. I will read further. It's a cool demo either way. Got me reading more details than I expected

    • @danielh6453
      @danielh6453 Месяц назад

      I did some more reading, and the limits are definitely in vCPUs, which are cores. In AWS, they state: "Each vCPU on Graviton-based Amazon EC2 instances is a core of AWS Graviton processor."
      Therefore, a m7g.large is 2 cores, or 2000 millicores, or 2 vCPUs. Azure is similar.
      Immensely enjoyed the journey of reading into the details. Thanks for providing such interesting demos like these

  • @luca4479
    @luca4479 Месяц назад +9

    Thanks! I knew from personal experience NodeJS is crazy fast for a scripting language. I’m seriously interested in seeing a runtime battle. Bun, Node, Deno, and there are some serverless runtimes too, but I guess the big three are the interesting ones.

    • @capfoo
      @capfoo Месяц назад

      +Workerd probably easy to containerize.

    • @AntonPutra
      @AntonPutra  Месяц назад

      Deno vs. Node.js vs Bun is next

  • @EdwinMartin
    @EdwinMartin Месяц назад +1

    The differences are far less than I expected. JavaScript is pretty good! What I really like to see is the same benchmark, but using bun (and possibly Deno)

  • @perc-ai
    @perc-ai Месяц назад +3

    Hey Anton I was the one that suggested to use the cluster module in the last video. Thanks for making another Node vs Golang and briefly discussing the cluster module and going in depth in kubernetes. I know you will be a very big youtuber because you listen to us in the comments thanks again man!

  • @Leo-qr1rq
    @Leo-qr1rq Месяц назад +27

    Let’s do elixir vs golang

    • @AntonPutra
      @AntonPutra  Месяц назад +5

      okay, it's already very close to the top of my list 😊

    • @chengjunxie5192
      @chengjunxie5192 Месяц назад

      @@AntonPutravote for elixir as well. Thank you

  • @thomasp3428
    @thomasp3428 Месяц назад +52

    Congratulations to Golang for its fair participation in NodeJS Paralympics.

    • @DrewryPope
      @DrewryPope Месяц назад +1

      Lol

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      😂

    • @MarcusTorres-zv5cv
      @MarcusTorres-zv5cv Месяц назад +2

      Another one who sits in front of a computer to write nonsense, 90% of applications don't need this 'high concurrency' that Go claims to have. Nowadays, there are scalable structures like AWS, edge computing, etc. In the tech world, everything changes; don't expect Node.js to remain so inferior to Go in the coming years, or don't be surprised if the tables turn. Which, in reality, wouldn’t even be that significant because a development structure doesn’t live off benchmarks alone.

    • @toTheMuh
      @toTheMuh Месяц назад +8

      @@MarcusTorres-zv5cv Yeah, there are scalable structures. AWS billing goes brrrr...

    • @thomasp3428
      @thomasp3428 Месяц назад

      @@MarcusTorres-zv5cv ok junior

  • @Gruak7
    @Gruak7 Месяц назад +2

    Now that was a fair run. Next I'd like to see the same but using frameworks for both. I'd pick hono for node and gin for go.

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      i'll compare the most popular js frameworks and will do a final comparison with go😊

  • @EzequielRegaldo
    @EzequielRegaldo Месяц назад +1

    Thank you so much for your videos, i really appreciate your job! If you're using NodeJS i recommend using cluster mode for each 4 cpu cores, simply because libuv default config (i tried modifying this config and performs worse)

    • @AntonPutra
      @AntonPutra  Месяц назад

      well, it's not the best option to deploy to kubernetes on a standalone VM, for sure

  • @moochalshrek6519
    @moochalshrek6519 Месяц назад +3

    As someone who works in a small company where we deploy Python flask as a backend for internal development, I would love to see a Flask vs FastAPI vs GO (or Node), just to see what are the performance differneces at things beyond the scale that I'll probably ever see

    • @thelearningmachine_
      @thelearningmachine_ Месяц назад

      in a battle of snails, flask is synchronous. That means it accepts/process 1 request per time, this is a HUGE bottleneck while FastAPI is asynchronous by nature. You're have to deploy multiple webworkers to make flask "useful", but that cost compute resources. FastAPI = async def baby, concurrency to the roof. But in the end, python is single-threaded (GIL), so don't expect anything close to a full compiled /JIT language. Python is alone on his own league, of poor performance and speed.
      I suggest you to start changing from Flask to FastAPI, it needs very little change in the code, in 5 minutes you change everything just routes and request objects, and you'll gain a HUGE concurrency performance.

    • @moochalshrek6519
      @moochalshrek6519 Месяц назад

      @@thelearningmachine_ Thats the fun part to watch the battle of the snails and see the actual bad performance. And I have been trying to migrate from Flask to Fast. But I'm currently the only dev in my company and they want more software/features churned out instead of improving our bottlenecks.
      I'd preferably rebuild everything in NodeJS or .NET

    • @moochalshrek6519
      @moochalshrek6519 Месяц назад

      @@thelearningmachine_ Thats the fun part to watch the battle of the snails and see the actual bad performance. And I have been trying to migrate from Flask to Fast. But I'm currently the only dev in my company and they want more software/features churned out instead of improving our bottlenecks or hiring more devs. I'd preferably rebuild everything in NodeJS but that's a lot of time I currently do not have.

  • @TheRanguna
    @TheRanguna Месяц назад +1

    Much better!
    Thank you very much for adjusting your setup

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      always trying to fix my mistakes

  • @farzadmf
    @farzadmf Месяц назад +1

    Very nice explanation about requests and limits

  • @boot-strapper
    @boot-strapper Месяц назад +3

    Thanks for the follow up. I think this really shows that JS is pretty good. Considering how easy it is to write and can still compete with something like go or Java is amazing

    • @AntonPutra
      @AntonPutra  Месяц назад

      yes it pretty good, just be careful how you deploy it

  • @capfoo
    @capfoo Месяц назад +2

    Nodejs performance actually quite good, nice.

  • @e2e23e
    @e2e23e Месяц назад +1

    Thanks for doing the part2 ❤

    • @AntonPutra
      @AntonPutra  Месяц назад

      my pleasure! i'll do more node in the future including comparing cluster mode with horizontal scaling

  • @sam_8a
    @sam_8a Месяц назад +1

    Would love a video on how to do such benchmark with those graphs

    • @AntonPutra
      @AntonPutra  Месяц назад

      i'll do it in the near future

  • @ZodakZach
    @ZodakZach Месяц назад

    These videos are awesome. Do you get a pretty high AWS bill from running these kinds of tests?

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      thanks! I need to set up an infra support fund 😊

  • @Baboi62182
    @Baboi62182 Месяц назад +3

    Java vs C# vs Go with all the optimizations. That would be a good comparison. Maybe even default C# vs optimized C# just like this video's Go comparison.

  • @emersonmicu1683
    @emersonmicu1683 Месяц назад +1

    Really cool videos, may I know the program you use for video animations?

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      thanks! sure adobe suite

  • @pawegraczyk6050
    @pawegraczyk6050 Месяц назад +10

    Way better now...

  • @technovikingnik
    @technovikingnik Месяц назад +1

    Thank you sir, it was very well explained up to the point.

  • @rocketbox9
    @rocketbox9 Месяц назад +1

    I love Anton! Can you also do these same tests using a k8s ARM architecture? please

    • @AntonPutra
      @AntonPutra  Месяц назад

      i did one in the past with graviton, and i'll definitely refresh it soon

  • @whiletrue1-wb6xf
    @whiletrue1-wb6xf Месяц назад

    Great video! Could you share which monitoring application you're using to collect all those graphs?

  • @federico7551
    @federico7551 Месяц назад +5

    Great video! Can you please do something to improve Java application performance on K8s as well? Thanks!

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      yes, i'll come back to Java soon

    • @siraz6899
      @siraz6899 Месяц назад

      Vote up for this

  • @AlexanderMoon
    @AlexanderMoon Месяц назад +1

    Amazing, as usual. Thank you!

  • @Requiem100500
    @Requiem100500 Месяц назад +14

    the difference is not as big as I expected

    • @123mrfarid
      @123mrfarid Месяц назад +9

      True, but in real world, the difference would be much bigger with expanding complexity, libraries, frameworks, scalabilities, etc. I am mainly code in JS now but i know for sure that Go would destroy JS performance in most production cases since i have code in both language in comparable projects. Go also has a very fast framework (fiber) and overall higher quality libraries

    • @AntonPutra
      @AntonPutra  Месяц назад +4

      yes, and i haven't started comparing deno or bun with go yet 😊

    • @mrlectus
      @mrlectus Месяц назад

      @@AntonPutra yeah do bun next

  • @nonono9700
    @nonono9700 Месяц назад +1

    Never thought it would be this close

    • @AntonPutra
      @AntonPutra  Месяц назад

      yeap, i'll test more. i want to know how nodejs cluster mode compares with standalone

  • @myanch200
    @myanch200 Месяц назад +6

    It will be interesting to see Elixir vs go lang

    • @AntonPutra
      @AntonPutra  Месяц назад +4

      will do

    • @myanch200
      @myanch200 Месяц назад

      @@AntonPutra Thank you Anton,amazing videos learning a lot

  • @zakimimit
    @zakimimit Месяц назад +1

    Thank you for this video and I hope you can do video of optimized Django,with ninja and celery or other optimization. My best regards

    • @AntonPutra
      @AntonPutra  Месяц назад

      thanks! yes in the future I'll improve it

  • @snatvb
    @snatvb Месяц назад +1

    this is so useful! thank you!

  • @javohirmirzo
    @javohirmirzo Месяц назад +1

    great vid! how you pronounce availability is funny tho lol

  • @misalambasta
    @misalambasta Месяц назад +3

    As compare to last node vs go, in this node performed very close to golang.

  • @def-any
    @def-any Месяц назад +7

    Go vs Bun please!!!

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      yes, but deno vs. node.js vs bun is next, then with go

    • @def-any
      @def-any Месяц назад

      @@AntonPutra ty!

  • @ehfoss
    @ehfoss Месяц назад

    Anton, why is there CPU throttling when the CPU usage on Go: default and Go are not at the 1 CPU limit? Is the CPU plot not showing iowait or iosteal? Does `cpuset` do anything in a k8s env? When using raw hardware, using cpuset to avoid cross-socket traffic helps performance a great deal. If you're capping at 1cpu, then one may as well pin it to that core so it doesn't have to worry about floating to another core or socket.
    Thanks for the diligent videos!

  • @Mylordkaz
    @Mylordkaz Месяц назад

    thank you, nice video.
    I would like to benchmark my own projects, do you have a video that explain how to setups basics benchmark ? that would be great thx you

    • @AntonPutra
      @AntonPutra  Месяц назад

      not yet but i'll create one soon

  • @Kavantix
    @Kavantix Месяц назад +2

    Why did you run 2 replicas with gomaxprocs=1 instead of 1 replica with gomaxprocs=2 and 2000m limit?
    Your second test clearly shows that this has an impact on the performance of the go app.
    Also, now that you switched to 2 core machines why not remove the cpu limit entirely? We discussed before about starvation of system resources but with 2000m limit on a 2 core machine the same starvation can happen so there should not be a difference right?

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      i get your point. i used gomaxprocs=1 and a 1 CPU limit just to have the same settings as for node.js. regarding the second question, in theory yes, but i haven't tested that scenario yet.

  • @j.r.r.tolkien8724
    @j.r.r.tolkien8724 Месяц назад +1

    Thank you.

    • @AntonPutra
      @AntonPutra  Месяц назад

      my pleasure, bun is next

  • @alekc7292
    @alekc7292 Месяц назад +1

    Why don't you add dashboards to the source code? Can you solve it? It might be interesting, maybe for reusing your tests

    • @AntonPutra
      @AntonPutra  Месяц назад

      i have it here - github.com/antonputra/tutorials/tree/main/lessons/135
      i'm planing to create another tutorial on monitoring soon

  • @miralirafiyev4646
    @miralirafiyev4646 Месяц назад +3

    MongoDB vs Postgres ( or Mysql ) please.

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      i think it's much easier to scale mongo horizontally then postgres with read only replicas, but i'll see what i can do

  • @r0nni34
    @r0nni34 Месяц назад +1

    This had me wondering what would be the theoretical max limit a language can handle if given higher specs.

    • @AntonPutra
      @AntonPutra  Месяц назад

      well it depends how many threads they create and in general adapt to multi core processors but i'm sure there is a limit

  • @kamurashev
    @kamurashev Месяц назад +2

    So I was right saying it was cause it's single threaded.
    Ps you tried so hard to make go look good enough compared with js. 🙂
    I appreciate what you are doing, it's super cool content!
    Being a java dev I'd really like to see how best of each language setups compare. I mean like eg combining best go, rust, js, java for instance.
    One more time - it’s super cool what you’re doing!

  • @TheCreepyMoto
    @TheCreepyMoto Месяц назад +2

    Ever going to see Bun , Deno vs something ?

    • @AntonPutra
      @AntonPutra  Месяц назад

      yes, it's next for sure: deno vs. node.js vs bun. i just need to fix the mistakes before moving on to the next one

  • @bo_leang
    @bo_leang Месяц назад

    I am interested in your explanation on this video. What animation did you use for your video?

  • @mj-lc9db
    @mj-lc9db Месяц назад +1

    Insane!

  • @guoard
    @guoard Месяц назад +1

    Perfect..

  • @Charith_LakshanJ
    @Charith_LakshanJ Месяц назад

    What is that monitoring setup ?? dashboard looking clean.

    • @AntonPutra
      @AntonPutra  Месяц назад

      thanks, i use prometheus + grafana, basic staff

  • @roccociccone597
    @roccociccone597 Месяц назад +18

    the number of triggered JS people here is quite funny. If we constantly say he didn't do it right, I can say use go fiber and literally destroy JS once and for all.

    • @spicynoodle7419
      @spicynoodle7419 Месяц назад +4

      Go fiber goes brrrrtt

    • @roccociccone597
      @roccociccone597 Месяц назад +2

      @@spicynoodle7419 indeed, though I prefer the libraries built on stdlib as they're more than fast enough and have better compatibility. But if you need raw speed fiber is awesome.

    • @OldKing11100
      @OldKing11100 Месяц назад

      @@spicynoodle7419 You should see how crazy Fiber-Prefork is in multicore systems.

    • @ada0015
      @ada0015 Месяц назад

      I only have experience with gin. I know fiber is superior, but is the syntax similar? I want to migrate if it is

    • @AntonPutra
      @AntonPutra  Месяц назад

      😂

  • @rafael.aloizio1769
    @rafael.aloizio1769 Месяц назад +1

    For those who knows your Chanel very well, it's useless to blur the screen on the beginning of the benchmark videos 😂😂😂 we all know that the blue line is for go lang, what surprises me most, is node not being a green line 😂😂😂😂😂

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      i'll start picking random colors thanks for the tip 😊

  • @katungiyassin9947
    @katungiyassin9947 Месяц назад +1

    Hope you do Erlang vs Zig vs Rust

  • @pintokatendejonathan1740
    @pintokatendejonathan1740 Месяц назад

    Thank you for your content
    Can you do the same for Django vs FastApi vs Flask

    • @AntonPutra
      @AntonPutra  Месяц назад

      yes, i'll cover python frameworks more in near soon

  • @siddharthd6141
    @siddharthd6141 Месяц назад +2

    please compare CROW (C++) vs Java or GO ??? pleaseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      will do! but next Deno vs. Node.js vs Bun

  • @rayhu_dev
    @rayhu_dev Месяц назад

    Nice man, could you please also create .NET vs Java benchmark.

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      sure in the future

    • @rayhu_dev
      @rayhu_dev Месяц назад

      @@AntonPutra appreciate

  • @yannickpeter8607
    @yannickpeter8607 Месяц назад +1

    What would be the effect if i do not set cpu limits at all?

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      You can get unpredictable throttling or performance penalties from neighboring containers that don't have resource limits and consume all available resources. These containers can not only starve other containers running on the same node, but more importantly, they can interfere with system components and make nodes unavailable.

  • @elvispalace
    @elvispalace Месяц назад +4

    compare two technologies is really hard because you need to understand deeply how they work. you did better now going more deeper how nodejs works and it's fair to say that go has a wonderful resources management

    • @skuwamy
      @skuwamy Месяц назад

      bro is javascript one of the easiest language to learn lol.

    • @conundrum2u
      @conundrum2u Месяц назад +6

      he's not talking about the language, he's referring to the underlying runtime and architectural considerations ​@@skuwamy

    • @elvispalace
      @elvispalace Месяц назад

      ​@@skuwamy you just need to learn the sintaxe to create scalable application, understood

    • @EdwinMartin
      @EdwinMartin Месяц назад

      @@elvispalaceit’s not about syntax

    • @habibosaye
      @habibosaye Месяц назад

      @@EdwinMartin lol, I think he is being sarcastic 😅 Wait…?

  • @Александр-т9ф2ф
    @Александр-т9ф2ф Месяц назад +7

    Round 3 -> Nodejs(fastify) vs go

    • @skuwamy
      @skuwamy Месяц назад +1

      Yeah lets use Go Fiber so that these javascript devs get triggered again hahha.

    • @AntonPutra
      @AntonPutra  Месяц назад

      next, i'll do deno vs. node.js vs bun, then take the fastest and compare it with go 😊

  • @wahidfeb
    @wahidfeb Месяц назад +2

    can we get laravel benchmark?

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      yes a maybe one or more for js and then php

    • @wahidfeb
      @wahidfeb Месяц назад

      @@AntonPutra thank you

  • @enzodossantos2546
    @enzodossantos2546 Месяц назад

    i would like to see Laravel vs Node vs Golang :)

  • @WiseWeeabo
    @WiseWeeabo Месяц назад +2

    Now do Node vs Rust so we can really blow them out the water xD

    • @a0flj0
      @a0flj0 Месяц назад +1

      Rust will obviously be even better, since Anton already did a similar test of Rust vs Go, and Rust was decisively better than Go. But, as someone already mentioned above, for a very large number of applications node is good enough, i.e. you don't get enough runtime savings from using a compiled, statically typed language that generates more efficient binaries to justify the higher development time costs. Node has a very well carved out niche in which it is pretty much the best choice, and unlikely to be replaced by anything in the foreseeable future.

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      i'll do a comparison with rust, but probably with bun

    • @WiseWeeabo
      @WiseWeeabo Месяц назад

      @@AntonPutra The reason I make the comment is that I think Node (and Java, and C#) are in the realm of companies that are looking at Rust and C++ (because C23) because it has a potential "very large" benefit that may be too big to ignore in light of the fact where the trade-off used to be much greater before Rust and in older versions of C++ that were not modern enough for a modern workforce and a modern codebase and architecture, but now is much more relevant.

  • @rankala
    @rankala Месяц назад +1

    elixir would be interesting 🙂

    • @AntonPutra
      @AntonPutra  Месяц назад

      i'll do it in near future

  • @ivan.jeremic
    @ivan.jeremic Месяц назад

    I'm no benchmark pro but for it to be fair shouldn't you enable Worker Threads in Node?

    • @AntonPutra
      @AntonPutra  Месяц назад

      if you want to deploy it on standalone server or VM you would create as many workers as you have cores but in K8s just scale horizontaly

  • @THE_NE0
    @THE_NE0 Месяц назад +3

    Still waiting for the .NET part 2 :(

    • @AntonPutra
      @AntonPutra  Месяц назад

      I'll definitely come back to it and improve in near future

  • @mehrdad-ai
    @mehrdad-ai Месяц назад +2

    Please compare bun vs go va rust

    • @AntonPutra
      @AntonPutra  Месяц назад

      close :) next Deno vs. Node.js vs Bun

    • @skuwamy
      @skuwamy Месяц назад

      wait bun vs go vs rust? huh?

    • @mehrdad-ai
      @mehrdad-ai Месяц назад

      @@skuwamy bun is written in rust

  • @ggcc3261
    @ggcc3261 Месяц назад +1

    First! Thanks for making these btw

  • @ivanarsenev4474
    @ivanarsenev4474 Месяц назад +1

    Could you compare cloudflare workers with hono vs go aws lambda?

    • @AntonPutra
      @AntonPutra  Месяц назад

      ok, i'll see what i can do

    • @ivanarsenev4474
      @ivanarsenev4474 Месяц назад

      @@AntonPutra Thank you, your channel one of the best things that I checking in moring in my subscriptions.

  • @RogerGailland
    @RogerGailland Месяц назад

    Can someone explain to me what Anton means when he says Go starts caching requests?!?

  • @Maric18
    @Maric18 Месяц назад

    the explanation of milicores kind of ... looped? it felt like it was explaining the same concept 3 different ways

    • @AntonPutra
      @AntonPutra  Месяц назад

      well, maybe i tried to give as many examples as possible

    • @Maric18
      @Maric18 Месяц назад

      @@AntonPutra true :D and you should never listen to a single youtube commenter :D but just in case you get that feedback from multiple sources, that might be something to improve.
      This far, its just "at least one person thinks this could have more concise" :D

  • @belkocik
    @belkocik Месяц назад +3

    Are you going to test nodejs with fastify (with pm2 load balancer with max 3 cores config?) vs go?

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      well maybe i'll do fastify, next Deno vs. Node.js vs Bun

    • @belkocik
      @belkocik Месяц назад

      @@AntonPutraNice! Would love to see how fastify performs with load balancer vs go std.

  • @mehedirifat9072
    @mehedirifat9072 Месяц назад

    Please do a video on SurrealDB vs PostgreSQL

  • @MrDejvidkit
    @MrDejvidkit Месяц назад

    Can you compare the GoLang and Scala web framworks like ZIO Http?

    • @AntonPutra
      @AntonPutra  Месяц назад

      yes i'll do scala in the future

  • @Maks-fc7kv
    @Maks-fc7kv Месяц назад

    Funny to observe people still think Bun is really Node killer and really faster & better 😁
    ( one more killer, oh no 😁)
    Like, uWebSocket used by Bun faster than Rust Actix Web, so the comparison with NodeJS related on req/res for sure will be faster lol,
    but at the same time checking if string starts with some specific substring was ~14 times slower vs NodeJS.
    Checkmate.

    • @Maks-fc7kv
      @Maks-fc7kv Месяц назад

      Just take a look at the amount of Bun devs/community and think how much time do they need to fix all the problems/bugs they have, to deliver everything NodeJS has today.
      I guess lots.

    • @AntonPutra
      @AntonPutra  Месяц назад

      testing bun right now

  • @ivankudryavcev2675
    @ivankudryavcev2675 Месяц назад +2

    fastapi vs go

  • @SidharthKaushik
    @SidharthKaushik Месяц назад +1

    Please do a node js vs rust

    • @a0flj0
      @a0flj0 Месяц назад +1

      He did a comparison of Rust and Go, similar to this one, after he got feedback on an initial version. Rust came out on top of Go both times in absolutely every metric. Not by an astronomic amount, but, IIRC, by somewhat more than Go is better than node in this comparison. Which translates to Rust being better than node by an even larger margin than Go is.

    • @AntonPutra
      @AntonPutra  Месяц назад

      yeah, in the future, but probably not node. instead, deno or bun vs rust

  • @kostan3v
    @kostan3v Месяц назад +1

    Let's see how Dart (with Shelf) competes

  • @RavenXplod
    @RavenXplod Месяц назад +2

    Bun(Hono) vs Go...... Please

    • @roccociccone597
      @roccociccone597 Месяц назад

      Go is faster. That's about it

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      deno vs. node.js vs bun is next, then i'll compare it with go

    • @RavenXplod
      @RavenXplod Месяц назад

      @@roccociccone597 its not that its faster......the question is how faster....if the difference is small then there is no need to learn Go or new technology and stick to JS and optimise in other parts of the application

  • @polrk
    @polrk Месяц назад

    Which nodejs version do u use?

    • @AntonPutra
      @AntonPutra  Месяц назад

      just updated the video description - node.js (22.9) vs go (1.23.1) performance comparison

  • @forKotlinsky
    @forKotlinsky Месяц назад +1

    hi. what about python and php?

  • @damirca
    @damirca Месяц назад

    Please do rails vs phoenix

  • @skuwamy
    @skuwamy Месяц назад +51

    Lots of javascript devs got triggered in your last video hahahaha

    • @hardtech1010
      @hardtech1010 Месяц назад +5

      Haha exactly

    • @AlexanderMoon
      @AlexanderMoon Месяц назад +4

      True. Yet JS due to it's availability and 0 learning curve - makes everyone think they're pro in JS. That's why 90% of publicly available of JS is total crap. So JS has it's niche where it excels. But people will still multiply shit with it

    • @commonfolk663
      @commonfolk663 Месяц назад +3

      @@AlexanderMoon Golang is so much easier to learn and use from get-go than Typescript, Node ecosystem alone probably takes couple years to learn and is required to do any real job. Go is a wonderful language to make things fast and easy, cut corners and do relatively good job. But anything you have time to think about, Go is one of the worst languages even when compared to Node/Typescript, with poorly written type system, weird error handling and worst of all, - limited support for main paradigms, - OOP and FP.
      It feels like golang has weirdly good publicity. Despite only universal advantage being its simplicity.

    • @AlexanderMoon
      @AlexanderMoon Месяц назад +4

      @@commonfolk663 disagree. learning a language is not same as learning an ecosystem. Go is way more complex than JS. JS has barely no types bypassing aspects such as typesafety, mem allocations, immutability, concurrency whatsoever. So no, JS learning curve is incomparably smaller than Go's.

    • @giorgos6576
      @giorgos6576 Месяц назад

      No one likes express.js performance. That's a fact.

  • @gneryze
    @gneryze Месяц назад

    i try to replicate your grafana histogram but i failed, do you mind to share the json of it?

    • @AntonPutra
      @AntonPutra  Месяц назад

      sure - github.com/antonputra/tutorials/tree/main/lessons/135

  • @70sHindiSongs
    @70sHindiSongs Месяц назад

    Can you do bun vs go please ?

  • @ghostvar
    @ghostvar Месяц назад +1

    no one mentioned ruby or ruby on rails

  • @geraldofebrian7119
    @geraldofebrian7119 Месяц назад +1

    Php vs php concurrent vs go please

  • @AlexKubrinsky
    @AlexKubrinsky Месяц назад

    Where I can find a client code/config? Thanks!!

    • @AntonPutra
      @AntonPutra  Месяц назад

      i need to refactor it and i'll make it public

  • @tinydev2683
    @tinydev2683 Месяц назад

    Gleam vs Rust vs GO pls u should test it 🙏

  • @ninjaasmoke
    @ninjaasmoke Месяц назад

    maybe one day, we cpp devs get a rest api test to once and for all decide which is the “fastest”.
    actix or drogon?
    p.s. i tried rust, it’s ok. i hate fighting with the compiler. i’d rather shoot my self in the foot

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      yes i'll do it, but i promised some more js, Deno vs. Node.js vs Bun next

  • @gahshunker
    @gahshunker Месяц назад +2

    The blurring on the first few minutes is irrelevant. We can figure which one is go and nodejs by line color and character lenghta 😂

  • @iceben97
    @iceben97 Месяц назад +1

    Go vs Encore.ts pleaseeeee

  • @RobertoMaurizzi
    @RobertoMaurizzi Месяц назад

    What about a PHP vs Go or Rust video? I'm sure a lot of people could use the result 😂

    • @bhavyakukkar
      @bhavyakukkar Месяц назад

      he has rust vs zig

    • @RobertoMaurizzi
      @RobertoMaurizzi Месяц назад

      @@bhavyakukkar yeah, I saw that, but I can't use that to push PHP people to change technology to Rust or Go to go faster/save on hardware 😀

    • @AntonPutra
      @AntonPutra  Месяц назад +1

      i'll do php soon