Fiber vs. Gin vs. Go (stdlib): Performance (Latency - Throughput - Saturation - Availability)

Поділитися
Вставка
  • Опубліковано 14 гру 2024

КОМЕНТАРІ • 279

  • @AntonPutra
    @AntonPutra  3 місяці тому +3

    🔴 To support my channel, I'd like to offer Mentorship/On-the-Job Support/Consulting (me@antonputra.com)

    • @zacclifton5479
      @zacclifton5479 3 місяці тому +2

      Kafka vs Pulsar vs Nats

    • @akifbasormanc5131
      @akifbasormanc5131 3 місяці тому

      next, nuxt, solidjs, other ssr suport frontent frameworks

    • @AntonPutra
      @AntonPutra  3 місяці тому

      @@zacclifton5479 i was thinking about testing kafka with rabbit or nats, but realistically i need to use expensive ec2 instance types with fast local ssd disks and it could be expensive. cause i need to run at least 3 brokers otherwise it does not make sense to test standalone instances

    • @099watcher
      @099watcher 3 місяці тому +1

      Python frameworks (django with DRF, FastAPI) vs node, go etc?

    • @AnassIRIZI
      @AnassIRIZI 3 місяці тому +1

      rust frameworks, rocket, actix, axum and warp, there is also a promising new framework called pavex created by the author of the book "zero to production in rust"

  • @startappguy
    @startappguy 3 місяці тому +69

    The winner Fiber vs Echo vs Chi. That would be interesting. As always, great video Anton. Very informative.

    • @AntonPutra
      @AntonPutra  3 місяці тому +7

      thanks! will do

    • @Gorops
      @Gorops 3 місяці тому +1

      @@AntonPutra That would be great! We are now researching those exact frameworks and that vid would help greatly!

    • @Dipj01
      @Dipj01 3 місяці тому

      ​@@AntonPutrawaiting for that video. Hopefully you'll do it soon :D

    • @houbill5363
      @houbill5363 2 місяці тому

      @@AntonPutra Also waiting for this one. "Fiber vs Echo vs Chi." . Thanks in advance!

    • @amer3h
      @amer3h 2 місяці тому

      and Gin

  • @kevinkelche8478
    @kevinkelche8478 3 місяці тому +80

    That's great. In the next benchmark add Echo.

    • @gahshunker
      @gahshunker 3 місяці тому +9

      Give the man a break

    • @AntonPutra
      @AntonPutra  3 місяці тому +8

      thanks! yes i have it mind!

    • @dlvnf
      @dlvnf 3 місяці тому +1

      Hertz claims to be better than Fiber. It would be great if you could benchmark fiber vs hertz

    • @RuslanGonzalez
      @RuslanGonzalez 3 місяці тому +8

      Also chi would be greatly appreciated

    • @ArcticPrimal
      @ArcticPrimal 3 місяці тому +3

      ​@@AntonPutraplease also add chi

  • @tsubasateacher
    @tsubasateacher 3 місяці тому +20

    I was looking for fiber vs stdlib benchmark two days ago and cant find it, but here we are. thanks Anton!

  • @rainwalker000
    @rainwalker000 3 місяці тому +11

    I've never been so happy that I chose Fiber over Gin for my current project. Thanks, Anton!

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      my pleasure!

    • @jabadabaduuuuuuuuuuuuu
      @jabadabaduuuuuuuuuuuuu 3 місяці тому

      why did you choose it?

    • @exapsy
      @exapsy 2 місяці тому +2

      just careful, unless it's a project that has over 1k-10k req/s it won't really make a difference.
      Even worse, fiber may require more expertise on a different implementation and ecosystem.

  • @forbidden_lion
    @forbidden_lion 3 місяці тому +3

    Make this channel as a benchmark channel. Super helpful

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      🫡

    • @forbidden_lion
      @forbidden_lion 3 місяці тому

      @@AntonPutra Please bring more benchmarks. Echo vs Chi vs Gin

    • @AntonPutra
      @AntonPutra  3 місяці тому

      @@forbidden_lion noted!

  • @NikolaiPenkov-q2e
    @NikolaiPenkov-q2e 3 місяці тому +15

    Awesome test, Anton! For those who haven’t seen your previous comparison of actix and fiber - it will be interesting to see how “real life” services written with go stdlib compare to actix or rocket 😊 Thank you!

    • @AntonPutra
      @AntonPutra  3 місяці тому +4

      thank you! i'll update rust code with all the improvements and instead of fiber will use stdlib

  • @vasiliyrozhkov945
    @vasiliyrozhkov945 3 місяці тому +3

    Супер обзор, всё доходчиво и наглядно! 👍

  • @ripple123
    @ripple123 3 місяці тому +1

    great work as always Anton!

  • @WaseemAshraf
    @WaseemAshraf 3 місяці тому +4

    To be honest, I was looking forward to this one.

    • @AntonPutra
      @AntonPutra  3 місяці тому +2

      i think it's time for stdlib :)

  • @darklordmelkor
    @darklordmelkor 3 місяці тому +3

    exactly what I wanted! Keep it up!

  • @KayandraJT
    @KayandraJT 3 місяці тому +2

    I finally have a video i can point to when i tell people the standard lib is goated

  • @0cano
    @0cano 3 місяці тому +2

    Thanks for this breakdown, I think I’ll follow your advice on adopting stdlib!

  • @Mr.BinarySniper
    @Mr.BinarySniper 3 місяці тому +2

    this video came in so perfect time. I have just started my calling back in project in fiber. I am commenting before watching this video I don't know what about the fiber

    • @AntonPutra
      @AntonPutra  3 місяці тому

      well it's very fast :)

  • @bscitsme7470
    @bscitsme7470 3 місяці тому +1

    Great work 👏 That was a really interesting comparison

  • @Antonio-yy2ec
    @Antonio-yy2ec 3 місяці тому +1

    Excellent video! Thanks for making it.

  • @rafaelnatera97
    @rafaelnatera97 3 місяці тому +2

    This is what I was waiting for!... Thanks @AntonPutra

  • @umapessoa6051
    @umapessoa6051 3 місяці тому +2

    Awesome test, as in any videos of these kind i know there will be that on the comments saying something like "Nooo, but you should do something something and this will improve the performance by 30000% on gin"

    • @AntonPutra
      @AntonPutra  3 місяці тому +2

      I am always open to criticism, especially if it follows a PR 😊. I actually got a couple of PRs that drastically improved the Rust code from the previous benchmark, and I'll release the results in a day or so.

  • @arilson.santos
    @arilson.santos 24 дні тому

    Amazing video!!!
    I'd like to see Go-Chi in these comparisons.

  • @ivan1178-p3h
    @ivan1178-p3h 3 місяці тому +35

    Would be interesting to see go vs elixir

    • @AntonPutra
      @AntonPutra  3 місяці тому +12

      will do soon!

    • @papakamirneron2514
      @papakamirneron2514 3 місяці тому +1

      @@AntonPutraYes please! Could you also compare scalability, it’s one of my main concern with these languages.

    • @AntonPutra
      @AntonPutra  3 місяці тому

      @@papakamirneron2514 ok will do

    • @perc-ai
      @perc-ai 3 місяці тому

      elixir will demolish all these benchmarks with phoenix

    • @AntonPutra
      @AntonPutra  3 місяці тому

      @@perc-ai thanks, noted!

  • @Ayotundejerry
    @Ayotundejerry 3 місяці тому +6

    please please please do a tutorial on how you create these benchmarks using kubernetes, grafana and prometheus

  • @FAELP22
    @FAELP22 3 місяці тому +1

    Thank you, your videos have helped me a lot.

  • @ThePandaGuitar
    @ThePandaGuitar 2 місяці тому +4

    Just goes to show how good the Go std library is. Remember Fiber is fast but it's not standard HTTP.

    • @AntonPutra
      @AntonPutra  2 місяці тому

      true

    • @StreetDawg55
      @StreetDawg55 Місяць тому

      Fiber is good for l7 ddos mitigation tho since it can handle lots of raw rps

  • @SilasDuarte-e9k
    @SilasDuarte-e9k 3 місяці тому +3

    ❤ Thanks, Go stdlib is incredible

  • @GabrielPozo
    @GabrielPozo 3 місяці тому +1

    I needed this video!!! Thanks!!!

  • @asirush
    @asirush 3 місяці тому +3

    Thank you! Very useful! Could you please make a video about you infrastructure set up, especially monitoring

    • @AntonPutra
      @AntonPutra  3 місяці тому +3

      sure, but i already have a few videos
      Monitoring EKS & EC2 instances with MANAGED Prometheus & Grafana - github.com/antonputra/tutorials/tree/main/lessons/130
How to monitor Persistent Volume usage in Kubernetes using Prometheus? - github.com/antonputra/tutorials/tree/main/lessons/134
How to monitor Containers in Kubernetes using Prometheus & cAdvisor? - github.com/antonputra/tutorials/tree/main/lessons/135
      Monitor HTTP/REST API in Kubernetes using Prometheus & Nginx Ingress Controller - github.com/antonputra/tutorials/tree/main/lessons/136
      How to Monitor Golang with Prometheus (Counter - Gauge - Histogram - Summary) - github.com/antonputra/tutorials/tree/main/lessons/137
How to Monitor Nginx with Prometheus and Grafana? (Install - Monitor - Fluentd) - github.com/antonputra/tutorials/tree/main/lessons/140
      Prometheus Operator Kubernetes Tutorial - github.com/antonputra/tutorials/tree/main/lessons/154
How to Build Custom Prometheus Exporter? - github.com/antonputra/tutorials/blob/main/lessons/141
      OpenTelemetry Golang Tutorial (Tracing in Grafana & Kubernetes & Tempo) - github.com/antonputra/tutorials/tree/main/lessons/178

Take a look at all lessons here in the readme - github.com/antonputra/tutorials/blob/main/docs/contents.md

    • @asirush
      @asirush 3 місяці тому

      @@AntonPutra thank you!

  • @jimzordstam6338
    @jimzordstam6338 3 місяці тому +2

    Incredible video, I personally would be interesting in seeing Fiber (the winner) vs Express vs Django. As many business still use those frameworks. Having a easy to understand test like this will provide the proof that transitioning to Go will allow the some hardware to performed better. So you get more for the same money spent.

    • @AntonPutra
      @AntonPutra  3 місяці тому

      thank you! yes i'll include node and python in the future videous

  • @iqbaltaufiq17
    @iqbaltaufiq17 3 місяці тому +1

    interesting benchmark as always

  • @Mylordkaz
    @Mylordkaz 3 місяці тому +2

    Very interesting thank you, I was using Gin recently to try out, but after that I might get back with the classic stdlib 🤣

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      yeah stdlib is nice :)

  • @SirJagerYT
    @SirJagerYT 3 місяці тому +7

    Could you compare chi vs gin vs echo, since there are most used frameworks in go.

    • @AntonPutra
      @AntonPutra  3 місяці тому +5

      yes, but first i need to test improved rust code

  • @Hessenar
    @Hessenar 3 місяці тому +2

    Спасибо, отличное видео, коротко и по теме как и всегда

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      spasibo, dumau korotkie delat dalshe!

  • @wwloyd
    @wwloyd 3 місяці тому +4

    amazing bench ❤ std all the way

  • @adesopekingsley9967
    @adesopekingsley9967 3 місяці тому +2

    Thank you for that update.... Perhaps I will reduce switch to standard library for my next project... I have been native to Gin and I love it ... But seems I could do better using stndlb

  • @yolodii
    @yolodii 3 місяці тому +1

    Wow. Thank you. Please, add Echo to the next one 🙏🙏

  • @zeroc7253
    @zeroc7253 3 місяці тому +1

    That's great. In the next benchmark add Chi.

    • @AntonPutra
      @AntonPutra  3 місяці тому +2

      well, stdlib multiplexer based on Chi logic, i think it would be similar

  • @evax2975
    @evax2975 3 місяці тому

    Очень круто! Столько работы в 6 минут сжать... Смотрел год назад бенчи по нжинксу и траефику. Рад за тебя, что растешь, подписался)

  • @user-abc855
    @user-abc855 3 місяці тому +1

    Very interesting video! It would be interesting to see comparsion with Node.js, but not with Express.js, but with Fastify with fastify-uws added

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      thank you! noted will do nodejs maybe next week

  • @Tszyu01
    @Tszyu01 3 місяці тому +2

    Great, great videos. Absolutely love how as close to real world these tests are compared what people usually do for these types of tests: Would not recommend mentioning fiber in the go reddit. Will be downvoted to absolute heck.

  • @SeySvK
    @SeySvK 3 місяці тому +2

    Hey Anton, excellent video comparison. I love this kind of videos that you have been posting recently. Could you please try the Ktor library, how it would perform?

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      thanks! i'll give it a shout

  • @Sushank777
    @Sushank777 3 місяці тому +1

    Awesome test it was

  • @user-de8d
    @user-de8d 3 місяці тому +3

    Hi Anton, I'd love to see a comparison of C++ and Rust web frameworks like Crow vs Actix Web.

  • @martinhotmann7868
    @martinhotmann7868 3 місяці тому +16

    4:36 this is wrong! Fiber has not reached its limits.
    You can clearly see:
    1. CPU at about 70.3% (4:48)
    2. CPU Throtteling did NOT happen (4:48)
    3. NO Memory Peak discovered (4:48)
    You have run into another bottleneck, but NOT the one from the application. Maybe it was the network or else, but the graph clearly shows, that this was not a fiber-bottleneck.
    Even though not more requests came through, this does not mean that the application was the bottleneck.
    I was hyped about that test, but now I am disappointed. At 70% CPU load. Means fiber could easily handle about 42% more requests with the same setup.

    • @AntonPutra
      @AntonPutra  3 місяці тому +5

      thanks for the feedback! when I run the test between fiber and hertz, i'll make sure to take it up to 100% usage or close

  • @Allenrkiou
    @Allenrkiou 3 місяці тому +1

    Hey Anton, first of all. All your videos are a gem, do you have any plans to cover HCP Vault in the future? Keep up the great content

    • @AntonPutra
      @AntonPutra  3 місяці тому

      thank you! well i may include it in one of the benchmarks in eks if I would need to store secrets from databases and include k8s integration with vault via csi driver

  • @jamesdcosta4813
    @jamesdcosta4813 3 місяці тому

    You got a subscriber!!

  • @hkupty
    @hkupty 2 місяці тому

    Just a suggestion for the latency graphs: Use logarithmic scale for better visualizing the differences when the request handling starts to shift to a slower pattern

  • @ashish99311
    @ashish99311 3 місяці тому +3

    node vs nest vs express vs go fiber please
    thank you 😊

  • @__kvik
    @__kvik 3 місяці тому +2

    You might wanna try comparing the Drogon (C++) framework to some Go and Rust ones. In one application I've seen it beat Go by 500% on req/s and similarly outclass it in latency.

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      interesting! I'll definitely try it out

  • @picatchumm64
    @picatchumm64 3 місяці тому +2

    Hi, very interesting this test, thank you very much.
    Could you compare these two Go frameworks : Fiber vs Herz (cloudwego).
    I love Fiber, but I just discovered Hertz (speed framework and HTTP3 ready and more something that tempts me)

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      thanks for the suggestions, will do!

  • @mariolazzari
    @mariolazzari Місяць тому

    brillant!

  • @kal.leroux
    @kal.leroux 3 місяці тому +1

    great man how about node framework like express vs fastify vs hono

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      thanks! will try to do nodejs next week

  • @rromic89
    @rromic89 3 місяці тому +1

    Awesome videos! Do you maybe have prometheus config and grafana dashboard source as well?
    Do you have maybe otel collector in mind to create a video?

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      thank you! yes i have few videos as well as otel with tracing and visualizing traces in grafana with tempo
      Monitoring EKS & EC2 instances with MANAGED Prometheus & Grafana - github.com/antonputra/tutorials/tree/main/lessons/130
How to monitor Persistent Volume usage in Kubernetes using Prometheus? - github.com/antonputra/tutorials/tree/main/lessons/134
How to monitor Containers in Kubernetes using Prometheus & cAdvisor? - github.com/antonputra/tutorials/tree/main/lessons/135
      Monitor HTTP/REST API in Kubernetes using Prometheus & Nginx Ingress Controller - github.com/antonputra/tutorials/tree/main/lessons/136
      How to Monitor Golang with Prometheus (Counter - Gauge - Histogram - Summary) - github.com/antonputra/tutorials/tree/main/lessons/137
How to Monitor Nginx with Prometheus and Grafana? (Install - Monitor - Fluentd) - github.com/antonputra/tutorials/tree/main/lessons/140
      Prometheus Operator Kubernetes Tutorial - github.com/antonputra/tutorials/tree/main/lessons/154
How to Build Custom Prometheus Exporter? - github.com/antonputra/tutorials/blob/main/lessons/141
      OpenTelemetry Golang Tutorial (Tracing in Grafana & Kubernetes & Tempo) - github.com/antonputra/tutorials/tree/main/lessons/178

Take a look at all lessons here in the readme - github.com/antonputra/tutorials/blob/main/docs/contents.md

    • @rromic89
      @rromic89 3 місяці тому

      @@AntonPutra ♥

  • @armendshala7229
    @armendshala7229 3 місяці тому +2

    please test C# Dotnet core vs Java Vertx or Quarkus

    • @AntonPutra
      @AntonPutra  3 місяці тому

      thanks, noted!

    • @armendshala7229
      @armendshala7229 3 місяці тому

      @@AntonPutra It would be very interesting because Java and C# are very popular and in other tutorials they show always some Fibonacci calculations or just calling a simple api.. but what you are doing is real world examples. Thanks 🙏

  • @StoneWeaver_RU
    @StoneWeaver_RU 3 місяці тому +1

    Hello! Nice benchmarks! Please can you record a benchmark of vert.x (async java framework), spring boot webflux, ktor multiplatform server (both jvm and native) and golang stdlib to compare with. Thanks in advance!

    • @AntonPutra
      @AntonPutra  3 місяці тому

      thanks for the suggestion, noted!

  • @berserk.4121
    @berserk.4121 3 місяці тому +2

    please make a tutorial for beginners how to test out projects like this, like what tools you are using (ps: I am a beginner)

    • @AntonPutra
      @AntonPutra  3 місяці тому +3

      ok will do at some point!
      but i have few tutorials already
      Monitoring EKS & EC2 instances with MANAGED Prometheus & Grafana - github.com/antonputra/tutorials/tree/main/lessons/130
How to monitor Persistent Volume usage in Kubernetes using Prometheus? - github.com/antonputra/tutorials/tree/main/lessons/134
How to monitor Containers in Kubernetes using Prometheus & cAdvisor? - github.com/antonputra/tutorials/tree/main/lessons/135
      Monitor HTTP/REST API in Kubernetes using Prometheus & Nginx Ingress Controller - github.com/antonputra/tutorials/tree/main/lessons/136
      How to Monitor Golang with Prometheus (Counter - Gauge - Histogram - Summary) - github.com/antonputra/tutorials/tree/main/lessons/137
How to Monitor Nginx with Prometheus and Grafana? (Install - Monitor - Fluentd) - github.com/antonputra/tutorials/tree/main/lessons/140
      Prometheus Operator Kubernetes Tutorial - github.com/antonputra/tutorials/tree/main/lessons/154
How to Build Custom Prometheus Exporter? - github.com/antonputra/tutorials/blob/main/lessons/141

Take a look at all lessons here in the readme - github.com/antonputra/tutorials/blob/main/docs/contents.md

  • @babakmahmoodi8741
    @babakmahmoodi8741 3 місяці тому +1

    Tnx

  • @ZockaRocka
    @ZockaRocka 3 місяці тому +1

    I would really be interested in Echo and a comparison to an elixir api

  • @GeorgeDicu-hs5yp
    @GeorgeDicu-hs5yp 3 місяці тому +1

    do one with elastic search

  • @ThomasWSmith-wm5xn
    @ThomasWSmith-wm5xn 2 місяці тому +2

    fiber wins just because of its middleware handling

  • @marcellmartini
    @marcellmartini 3 місяці тому +1

    Hi @AntonPutra, Cool video, and cool comparison. Which software are you using to generate the load on the APIs?

  • @my_name_is_ahad
    @my_name_is_ahad 3 місяці тому +1

    Thanks

  • @Krsaurav-cl5kj
    @Krsaurav-cl5kj 3 місяці тому +1

    I've no idea about coding stuffs. I only work with DevOps tools. So i want to ask that a single pod can handle this much request ? If if we get more requests then we have to scale the pods? Or to do anything ?

    • @AntonPutra
      @AntonPutra  3 місяці тому

      you have 2 options, either to scale it vertically first (adding more cpu and memory here - github.com/antonputra/tutorials/blob/main/lessons/204/deploy/go-stdlib-app/deployment.yaml#L28-L34)
      or scale it horizontally, since it's a steless service it's very easy just by increasing the replica count nere - github.com/antonputra/tutorials/blob/main/lessons/204/deploy/go-stdlib-app/deployment.yaml#L10
      you can scale vertically only so much, maybe 4-6 CPU max, then just start scaling horizontally

  • @nayanmakasare9294
    @nayanmakasare9294 3 місяці тому

    Thank you

  • @74Bagas
    @74Bagas 3 місяці тому +1

    great

  • @razagr
    @razagr 3 місяці тому +1

    great, what about grafana dashboard source code?

    • @AntonPutra
      @AntonPutra  3 місяці тому

      i have dedicated video explaining how to set this up, source code - github.com/antonputra/tutorials/tree/main/lessons/135

  • @Amsardm
    @Amsardm 3 місяці тому +1

    Hello new member here, is there an explanation video for setting up prometheus, grafana and processing visualizing it on dashboard?

    • @AntonPutra
      @AntonPutra  3 місяці тому

      thank you! well i have few videos explaining how to monitor all of this, pls take a look
      Monitoring EKS & EC2 instances with MANAGED Prometheus & Grafana - github.com/antonputra/tutorials/tree/main/lessons/130
How to monitor Persistent Volume usage in Kubernetes using Prometheus? - github.com/antonputra/tutorials/tree/main/lessons/134
How to monitor Containers in Kubernetes using Prometheus & cAdvisor? - github.com/antonputra/tutorials/tree/main/lessons/135
      Monitor HTTP/REST API in Kubernetes using Prometheus & Nginx Ingress Controller - github.com/antonputra/tutorials/tree/main/lessons/136
      How to Monitor Golang with Prometheus (Counter - Gauge - Histogram - Summary) - github.com/antonputra/tutorials/tree/main/lessons/137
How to Monitor Nginx with Prometheus and Grafana? (Install - Monitor - Fluentd) - github.com/antonputra/tutorials/tree/main/lessons/140
      Prometheus Operator Kubernetes Tutorial - github.com/antonputra/tutorials/tree/main/lessons/154
How to Build Custom Prometheus Exporter? - github.com/antonputra/tutorials/blob/main/lessons/141

Take a look at all lessons here in the readme - github.com/antonputra/tutorials/blob/main/docs/contents.md

    • @Amsardm
      @Amsardm 3 місяці тому

      @@AntonPutra thank you very much Anton

  • @ERazzor
    @ERazzor 3 місяці тому

    Would be interesting to see some framework like gin vs ogen. Ogen uses code generation to create static routing tree and uses fast json encoding/decoding for requests and responses. IMO, ogen works really well for building contract-first APIs

    • @AntonPutra
      @AntonPutra  3 місяці тому

      thanks for the suggestion, noted!

  • @realderek
    @realderek 3 місяці тому

    Great video! I looked at the Fiber docs, and I don't see where they recommend using the standard library first. Can you provide some details about this? I'd appreciate it.

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      sure, well it is based on fasthttp and it's from there official docs - "For most cases net/http is much better as it's easier to use and can handle more cases. For most cases you won't even notice the performance difference."
      also take a look at FAQ - "Are there known net/http advantages comparing to fasthttp?"
      github.com/valyala/fasthttp?tab=readme-ov-file#fasthttp-might-not-be-for-you

  • @passionforsciencel5180
    @passionforsciencel5180 3 місяці тому +1

    Why php benchmarks are not included in the channel?

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      will do php soon, maybe next week

  • @90hijacked
    @90hijacked 3 місяці тому

    Ok this is aside the point but,
    How did you get that consistent coloring across dashboards in grafana (2:15),
    It's a small thing but damn does it make the page so much clearer

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      it's hard coded, if you select a graph and scroll all the way down, you can override bunch of attributes for each service including color scheme (you can harcode or use regex)

  • @hooyah
    @hooyah 3 місяці тому +1

    great work. are you using fork feature in fiber?
    if yes can you explain what is that

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      No i haven't in this benchmark but will use it next time when i compare with hertz and cover fork feature as well.
      Here is a good explanation - github.com/gofiber/fiber/issues/180#issuecomment-590009242

    • @hooyah
      @hooyah 3 місяці тому

      ​@@AntonPutravery interesting how prefork run in behind. thanks 👍

  • @abanoubha
    @abanoubha 3 місяці тому +1

    Go std is the way to go ✌️

  • @nordeenhasan6030
    @nordeenhasan6030 2 місяці тому +1

    can you do it between fiber vs echo.

  • @Nvimchad
    @Nvimchad 3 місяці тому +1

    rust axum vs another production level back-end service it can be .net fremwork or go anything which is most adopted in industry

  • @Andrew-zv1vw
    @Andrew-zv1vw 2 місяці тому

    Elixir vs Rust Vs Go please 😊

  • @ivan1178-p3h
    @ivan1178-p3h 3 місяці тому +1

    Cool!!!

  • @hatsat32
    @hatsat32 3 місяці тому +1

    Can you test echo web framework pls? Thanks.

  • @aron9321
    @aron9321 3 місяці тому +1

    Thanks for sharing. One thing I see is that the memory comparison is meaningless due to the fact that you are testing a CPU intensive application.
    It would be interesting to see comparisons when the application is indeed memory intensive.

    • @AntonPutra
      @AntonPutra  3 місяці тому

      I guess you are right, but what is the most common use case when an application uses a lot of memory? I'm not going to test generic algorithms.

  • @matheuslasserre6499
    @matheuslasserre6499 3 місяці тому

    Why did the Fiber version on this test behaved different from the 1st test against Actix? In the test against actic both couldnt make to 2k req/s, but here is way beyond 10k. Am i missing something?

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      i ran this test in aws (eks), previously on my home lab (esxi)

  • @AntonPutra
    @AntonPutra  14 днів тому

    🍿 Benchmarks: ua-cam.com/play/PLiMWaCMwGJXmcDLvMQeORJ-j_jayKaLVn.html&si=p-UOaVM_6_SFx52H

  • @EzequielRegaldo
    @EzequielRegaldo 3 місяці тому +1

    Std ftw !

  • @doloreslaflipoflopo2746
    @doloreslaflipoflopo2746 3 місяці тому +1

    next, I think you should end the debate fastapi vs django vs flask

  • @reze_dev
    @reze_dev 26 днів тому

    How can people go api latency in micro seconds? I tried using go to write api, it's always in 35 ms >. It's in my local machine, it's even worse if run in on cloud

  • @mozhago8280
    @mozhago8280 3 місяці тому

    which software did you use to generate the traffic load for testing?

    • @AntonPutra
      @AntonPutra  3 місяці тому

      my own go client that sends http requests and prometheus metrics, this is old verion - github.com/antonputra/tutorials/tree/main/lessons/201/client
      i'm updating this and keeping in different repo for now

  • @quachhengtony7651
    @quachhengtony7651 3 місяці тому

    Please do .NET Native AOT vs either Go or Java Quarkus

    • @AntonPutra
      @AntonPutra  3 місяці тому

      yes it is coming, i already have updated quarkus code

    • @quachhengtony7651
      @quachhengtony7651 3 місяці тому

      @@AntonPutra thanks! looking forward to it

  • @Kimo.Codess
    @Kimo.Codess 3 місяці тому +1

    C# vs Java please 🙏

  • @siya.abc123
    @siya.abc123 3 місяці тому +2

    Can we finally have a definite answer to Go (stdlib or framework) vs Laravel

  • @mojajojajo
    @mojajojajo 3 місяці тому +1

    Why exactly should I not use Fiber, apart from the Go community's sentiment of using stdlib for everything and writing verbose code?

    • @AntonPutra
      @AntonPutra  3 місяці тому

      "Are there known net/http advantages comparing to fasthttp(fiber is based on fasthhtp)?"
      net/http supports HTTP/2.0 starting from go1.6.
      net/http API is stable, while fasthttp API constantly evolves.
      net/http handles more HTTP corner cases.
      net/http can stream both request and response bodies
      net/http can handle bigger bodies as it doesn't read the whole body into memory
      net/http should contain less bugs, since it is used and tested by much wider audience.
      github.com/valyala/fasthttp

    • @mojajojajo
      @mojajojajo 3 місяці тому +1

      @@AntonPutra thanks 🙏🏽

  • @carlobenedetti2407
    @carlobenedetti2407 3 місяці тому +2

    .NET Orleans vs Go

  • @GarvitJainGJ
    @GarvitJainGJ 2 місяці тому

    please do one for echo vs gin vs stdlib with mongodb

  • @berkesandras
    @berkesandras 3 місяці тому +1

    Next.js is a full stack framework. (Almost) everyone loves it, its popularity in unquestionable. But how does it perform especially on server-side, let's say compared to Express?

  • @dwarkeshpatel766
    @dwarkeshpatel766 3 місяці тому

    Can you add beego v2 with this benchmarks

  • @jumping-wolf
    @jumping-wolf 3 місяці тому

    Did you test Java using virtual threads? They can be activated with JDK 21 + Spring Boot 3.2.x.
    The results would be interesting compared to platform thread tests.

    • @AntonPutra
      @AntonPutra  3 місяці тому

      not yet, but it is coming soon, why not jdk 22 by the way? it is not supported yet by spring boot?

    • @jumping-wolf
      @jumping-wolf 3 місяці тому

      As far as I know, there are no performance improvements in JDK 22 compared to JDK 21. (This is just my opinion.)
      However, you can still use JDK 21 or a higher version in your tests.

    • @AntonPutra
      @AntonPutra  3 місяці тому

      @@jumping-wolf ok got it

  • @Sillyvan
    @Sillyvan 3 місяці тому

    Cool video! still very confused about the results between rust and go. rust shouldnt have performed so poorly i think. Maybe Actix vs Axum vs Rocket?

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      i got a lot of feedback as well as few PRs to improve Rust code. I'll release update video in a few days Rust(actix) vs Go (stdlib)

    • @Sillyvan
      @Sillyvan 3 місяці тому

      @@AntonPutra thanks a lot! please mention what the issue was in the video. always interesting!

    • @AntonPutra
      @AntonPutra  3 місяці тому

      @@Sillyvan sure, and I'll share PRs as well

  • @jungervin8765
    @jungervin8765 3 місяці тому

    It would be great to see how NodeJs compares to this. I thought fiber much much faster, but it seems the difference not that big, in real world scenarios the bottleneck probably is the io/database.

    • @AntonPutra
      @AntonPutra  3 місяці тому

      I'll run some Node.js benchmarks in a week or so. Also, Fiber's resource utilization seems much smaller compared to others.

  • @enesusta5228
    @enesusta5228 3 місяці тому

    what 3th party thing are you usign to create that graphics?

  • @ljudina83
    @ljudina83 3 місяці тому +1

    How about go chi?

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      stdlib is based on chi logic so i assume it is close but will test soon

  • @dungeon4971
    @dungeon4971 3 місяці тому

    which application are you using to display graphs?

    • @AntonPutra
      @AntonPutra  3 місяці тому

      adobe

    • @dungeon4971
      @dungeon4971 3 місяці тому

      @@AntonPutra I was talking about Grafana at that time 😅

    • @AntonPutra
      @AntonPutra  3 місяці тому

      @@dungeon4971 oh, yes grafana is the best but have some legal issues :)

  • @cirlorm5337
    @cirlorm5337 3 місяці тому

    why isn't Fiber recommended for all use cases?

    • @AntonPutra
      @AntonPutra  3 місяці тому +1

      take a look at this question "Are there known net/http advantages comparing to fasthttp (fiber)?"
      github.com/valyala/fasthttp?tab=readme-ov-file#faq

  • @AsadOnline-sz3os
    @AsadOnline-sz3os 3 місяці тому

    We can't judge its highly depends on what your api is we call another api or communicate with dB than results will be totally different from how to perform socket operations what are latency issue
    And more imp how we can configure our nodes in your case its large machine what ami is use ? amd or asc?
    So in short we cannot figure out in advance only test and find the facts when actual workload is running.

    • @AntonPutra
      @AntonPutra  3 місяці тому

      well i used m6a.4xlarge nodes (16 cpu and 32 Gi) BUT i deploy those apps in K8s with pod limites 2cpu and 256Mi memory

  • @4ala-bloger-asaKew
    @4ala-bloger-asaKew 2 місяці тому

    Sveltekit vs Golang

    • @AntonPutra
      @AntonPutra  2 місяці тому +1

      i'll do some ui benchmarks soon, i even have a setup with selenium 😊