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

  Рет қаралды 35,093

Anton Putra

Anton Putra

Күн бұрын

Пікірлер: 278
@AntonPutra
@AntonPutra 2 ай бұрын
► 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
@zacclifton5479
@zacclifton5479 2 ай бұрын
Kafka vs Pulsar vs Nats
@akifbasormanc5131
@akifbasormanc5131 2 ай бұрын
next, nuxt, solidjs, other ssr suport frontent frameworks
@AntonPutra
@AntonPutra 2 ай бұрын
@@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 2 ай бұрын
Python frameworks (django with DRF, FastAPI) vs node, go etc?
@AnassIRIZI
@AnassIRIZI 2 ай бұрын
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 2 ай бұрын
The winner Fiber vs Echo vs Chi. That would be interesting. As always, great video Anton. Very informative.
@AntonPutra
@AntonPutra 2 ай бұрын
thanks! will do
@Gorops
@Gorops 2 ай бұрын
@@AntonPutra That would be great! We are now researching those exact frameworks and that vid would help greatly!
@Dipj01
@Dipj01 2 ай бұрын
​@@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 Ай бұрын
and Gin
@tsubasateacher
@tsubasateacher 2 ай бұрын
I was looking for fiber vs stdlib benchmark two days ago and cant find it, but here we are. thanks Anton!
@AntonPutra
@AntonPutra 2 ай бұрын
my pleasure :)
@kevinkelche8478
@kevinkelche8478 2 ай бұрын
That's great. In the next benchmark add Echo.
@gahshunker
@gahshunker 2 ай бұрын
Give the man a break
@AntonPutra
@AntonPutra 2 ай бұрын
thanks! yes i have it mind!
@dlvnf
@dlvnf 2 ай бұрын
Hertz claims to be better than Fiber. It would be great if you could benchmark fiber vs hertz
@RuslanGonzalez
@RuslanGonzalez 2 ай бұрын
Also chi would be greatly appreciated
@ArcticPrimal
@ArcticPrimal 2 ай бұрын
​@@AntonPutraplease also add chi
@rainwalker000
@rainwalker000 2 ай бұрын
I've never been so happy that I chose Fiber over Gin for my current project. Thanks, Anton!
@AntonPutra
@AntonPutra 2 ай бұрын
my pleasure!
@jabadabaduuuuuuuuuuuuu
@jabadabaduuuuuuuuuuuuu 2 ай бұрын
why did you choose it?
@exapsy
@exapsy 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.
@NikolaiPenkov-q2e
@NikolaiPenkov-q2e 2 ай бұрын
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 2 ай бұрын
thank you! i'll update rust code with all the improvements and instead of fiber will use stdlib
@vasiliyrozhkov945
@vasiliyrozhkov945 2 ай бұрын
Супер обзор, всё доходчиво и наглядно! 👍
@AntonPutra
@AntonPutra 2 ай бұрын
spasibo! :)
@Mr.BinarySniper
@Mr.BinarySniper 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 2 ай бұрын
well it's very fast :)
@0cano
@0cano 2 ай бұрын
Thanks for this breakdown, I think I’ll follow your advice on adopting stdlib!
@AntonPutra
@AntonPutra 2 ай бұрын
yeah give it a shot
@arilson.santos
@arilson.santos 2 күн бұрын
Amazing video!!! I'd like to see Go-Chi in these comparisons.
@Ayotundejerry
@Ayotundejerry 2 ай бұрын
please please please do a tutorial on how you create these benchmarks using kubernetes, grafana and prometheus
@AntonPutra
@AntonPutra 2 ай бұрын
yes will do
@umapessoa6051
@umapessoa6051 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 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.
@bscitsme7470
@bscitsme7470 2 ай бұрын
Great work 👏 That was a really interesting comparison
@AntonPutra
@AntonPutra 2 ай бұрын
thank you!
@ripple123
@ripple123 2 ай бұрын
great work as always Anton!
@AntonPutra
@AntonPutra 2 ай бұрын
thank you!
@KayandraJT
@KayandraJT 2 ай бұрын
I finally have a video i can point to when i tell people the standard lib is goated
@AntonPutra
@AntonPutra 2 ай бұрын
cool, thanks!
@forbidden_lion
@forbidden_lion 2 ай бұрын
Make this channel as a benchmark channel. Super helpful
@AntonPutra
@AntonPutra 2 ай бұрын
🫡
@forbidden_lion
@forbidden_lion 2 ай бұрын
@@AntonPutra Please bring more benchmarks. Echo vs Chi vs Gin
@AntonPutra
@AntonPutra 2 ай бұрын
@@forbidden_lion noted!
@rafaelnatera97
@rafaelnatera97 2 ай бұрын
This is what I was waiting for!... Thanks @AntonPutra
@AntonPutra
@AntonPutra 2 ай бұрын
my pleasure :)
@darklordmelkor
@darklordmelkor 2 ай бұрын
exactly what I wanted! Keep it up!
@AntonPutra
@AntonPutra 2 ай бұрын
thanks!
@jimzordstam6338
@jimzordstam6338 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 2 ай бұрын
thank you! yes i'll include node and python in the future videous
@SilasDuarte-e9k
@SilasDuarte-e9k 2 ай бұрын
❤ Thanks, Go stdlib is incredible
@AntonPutra
@AntonPutra 2 ай бұрын
yes it is :)
@Antonio-yy2ec
@Antonio-yy2ec 2 ай бұрын
Excellent video! Thanks for making it.
@AntonPutra
@AntonPutra 2 ай бұрын
thanks!
@WaseemAshraf
@WaseemAshraf 2 ай бұрын
To be honest, I was looking forward to this one.
@AntonPutra
@AntonPutra 2 ай бұрын
i think it's time for stdlib :)
@asirush
@asirush 2 ай бұрын
Thank you! Very useful! Could you please make a video about you infrastructure set up, especially monitoring
@AntonPutra
@AntonPutra 2 ай бұрын
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 2 ай бұрын
@@AntonPutra thank you!
@evax2975
@evax2975 2 ай бұрын
Очень круто! Столько работы в 6 минут сжать... Смотрел год назад бенчи по нжинксу и траефику. Рад за тебя, что растешь, подписался)
@AntonPutra
@AntonPutra 2 ай бұрын
spasibo :)
@Mylordkaz
@Mylordkaz 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 2 ай бұрын
yeah stdlib is nice :)
@ThePandaGuitar
@ThePandaGuitar 2 ай бұрын
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
@GabrielPozo
@GabrielPozo 2 ай бұрын
I needed this video!!! Thanks!!!
@adesopekingsley9967
@adesopekingsley9967 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
@AntonPutra
@AntonPutra 2 ай бұрын
yeah give it a shot
@FAELP22
@FAELP22 2 ай бұрын
Thank you, your videos have helped me a lot.
@AntonPutra
@AntonPutra 2 ай бұрын
cool! thanks
@iqbaltaufiq17
@iqbaltaufiq17 2 ай бұрын
interesting benchmark as always
@AntonPutra
@AntonPutra 2 ай бұрын
thanks!
@wwloyd
@wwloyd 2 ай бұрын
amazing bench ❤ std all the way
@AntonPutra
@AntonPutra 2 ай бұрын
💯
@Hessenar
@Hessenar 2 ай бұрын
Спасибо, отличное видео, коротко и по теме как и всегда
@AntonPutra
@AntonPutra 2 ай бұрын
spasibo, dumau korotkie delat dalshe!
@yolodii
@yolodii 2 ай бұрын
Wow. Thank you. Please, add Echo to the next one 🙏🙏
@AntonPutra
@AntonPutra 2 ай бұрын
will do!
@ivan1178-p3h
@ivan1178-p3h 2 ай бұрын
Would be interesting to see go vs elixir
@AntonPutra
@AntonPutra 2 ай бұрын
will do soon!
@papakamirneron2514
@papakamirneron2514 2 ай бұрын
@@AntonPutraYes please! Could you also compare scalability, it’s one of my main concern with these languages.
@AntonPutra
@AntonPutra 2 ай бұрын
@@papakamirneron2514 ok will do
@perc-ai
@perc-ai 2 ай бұрын
elixir will demolish all these benchmarks with phoenix
@AntonPutra
@AntonPutra 2 ай бұрын
@@perc-ai thanks, noted!
@SeySvK
@SeySvK 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 2 ай бұрын
thanks! i'll give it a shout
@user-de8d
@user-de8d 2 ай бұрын
Hi Anton, I'd love to see a comparison of C++ and Rust web frameworks like Crow vs Actix Web.
@AntonPutra
@AntonPutra 2 ай бұрын
ok will do!
@Tszyu01
@Tszyu01 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.
@AntonPutra
@AntonPutra 2 ай бұрын
haha, thanks!
@SirJagerYT
@SirJagerYT 2 ай бұрын
Could you compare chi vs gin vs echo, since there are most used frameworks in go.
@AntonPutra
@AntonPutra 2 ай бұрын
yes, but first i need to test improved rust code
@marcellmartini
@marcellmartini 2 ай бұрын
Hi @AntonPutra, Cool video, and cool comparison. Which software are you using to generate the load on the APIs?
@AntonPutra
@AntonPutra 2 ай бұрын
thanks! adobe
@user-abc855
@user-abc855 2 ай бұрын
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 2 ай бұрын
thank you! noted will do nodejs maybe next week
@rromic89
@rromic89 2 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
@@AntonPutra ♥
@zeroc7253
@zeroc7253 2 ай бұрын
That's great. In the next benchmark add Chi.
@AntonPutra
@AntonPutra 2 ай бұрын
well, stdlib multiplexer based on Chi logic, i think it would be similar
@berserk.4121
@berserk.4121 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 2 ай бұрын
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
@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
@AntonPutra
@AntonPutra 2 ай бұрын
thanks!
@Allenrkiou
@Allenrkiou 2 ай бұрын
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 2 ай бұрын
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
@picatchumm64
@picatchumm64 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 2 ай бұрын
thanks for the suggestions, will do!
@realderek
@realderek 2 ай бұрын
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 2 ай бұрын
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
@ashish99311
@ashish99311 2 ай бұрын
node vs nest vs express vs go fiber please thank you 😊
@AntonPutra
@AntonPutra 2 ай бұрын
thanks, noted!
@StoneWeaver_RU
@StoneWeaver_RU 2 ай бұрын
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 2 ай бұрын
thanks for the suggestion, noted!
@Amsardm
@Amsardm 2 ай бұрын
Hello new member here, is there an explanation video for setting up prometheus, grafana and processing visualizing it on dashboard?
@AntonPutra
@AntonPutra 2 ай бұрын
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 2 ай бұрын
@@AntonPutra thank you very much Anton
@__kvik
@__kvik 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 2 ай бұрын
interesting! I'll definitely try it out
@kal.leroux
@kal.leroux 2 ай бұрын
great man how about node framework like express vs fastify vs hono
@AntonPutra
@AntonPutra 2 ай бұрын
thanks! will try to do nodejs next week
@hooyah
@hooyah 2 ай бұрын
great work. are you using fork feature in fiber? if yes can you explain what is that
@AntonPutra
@AntonPutra 2 ай бұрын
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 2 ай бұрын
​@@AntonPutravery interesting how prefork run in behind. thanks 👍
@Sushank777
@Sushank777 2 ай бұрын
Awesome test it was
@AntonPutra
@AntonPutra 2 ай бұрын
thanks!
@jamesdcosta4813
@jamesdcosta4813 2 ай бұрын
You got a subscriber!!
@Krsaurav-cl5kj
@Krsaurav-cl5kj 2 ай бұрын
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 2 ай бұрын
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
@mariolazzari
@mariolazzari 26 күн бұрын
brillant!
@AntonPutra
@AntonPutra 22 күн бұрын
thanks!
@berkesandras
@berkesandras 2 ай бұрын
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?
@AntonPutra
@AntonPutra 2 ай бұрын
thanks! noted!
@ZockaRocka
@ZockaRocka 2 ай бұрын
I would really be interested in Echo and a comparison to an elixir api
@AntonPutra
@AntonPutra 2 ай бұрын
it's coming..
@ZockaRocka
@ZockaRocka 2 ай бұрын
@@AntonPutra 😍
@AsadOnline-sz3os
@AsadOnline-sz3os 2 ай бұрын
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 2 ай бұрын
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
@razagr
@razagr 2 ай бұрын
great, what about grafana dashboard source code?
@AntonPutra
@AntonPutra 2 ай бұрын
i have dedicated video explaining how to set this up, source code - github.com/antonputra/tutorials/tree/main/lessons/135
@nordeenhasan6030
@nordeenhasan6030 2 ай бұрын
can you do it between fiber vs echo.
@AntonPutra
@AntonPutra 2 ай бұрын
yes, soon!
@passionforsciencel5180
@passionforsciencel5180 2 ай бұрын
Why php benchmarks are not included in the channel?
@AntonPutra
@AntonPutra 2 ай бұрын
will do php soon, maybe next week
@Nvimchad
@Nvimchad 2 ай бұрын
rust axum vs another production level back-end service it can be .net fremwork or go anything which is most adopted in industry
@AntonPutra
@AntonPutra 2 ай бұрын
ok noted!
@ERazzor
@ERazzor 2 ай бұрын
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 2 ай бұрын
thanks for the suggestion, noted!
@90hijacked
@90hijacked 2 ай бұрын
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 2 ай бұрын
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)
@Sillyvan
@Sillyvan 2 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
@@AntonPutra thanks a lot! please mention what the issue was in the video. always interesting!
@AntonPutra
@AntonPutra 2 ай бұрын
@@Sillyvan sure, and I'll share PRs as well
@hatsat32
@hatsat32 2 ай бұрын
Can you test echo web framework pls? Thanks.
@AntonPutra
@AntonPutra 2 ай бұрын
yes, soon
@armendshala7229
@armendshala7229 2 ай бұрын
please test C# Dotnet core vs Java Vertx or Quarkus
@AntonPutra
@AntonPutra 2 ай бұрын
thanks, noted!
@armendshala7229
@armendshala7229 2 ай бұрын
@@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 🙏
@aron9321
@aron9321 2 ай бұрын
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 2 ай бұрын
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.
@jumping-wolf
@jumping-wolf 2 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
@@jumping-wolf ok got it
@jungervin8765
@jungervin8765 2 ай бұрын
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 2 ай бұрын
I'll run some Node.js benchmarks in a week or so. Also, Fiber's resource utilization seems much smaller compared to others.
@GeorgeDicu-hs5yp
@GeorgeDicu-hs5yp 2 ай бұрын
do one with elastic search
@AntonPutra
@AntonPutra 2 ай бұрын
ok
@mozhago8280
@mozhago8280 2 ай бұрын
which software did you use to generate the traffic load for testing?
@AntonPutra
@AntonPutra 2 ай бұрын
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
@ThomasWSmith-wm5xn
@ThomasWSmith-wm5xn Ай бұрын
fiber wins just because of its middleware handling
@AntonPutra
@AntonPutra Ай бұрын
i need to test gnet
@matheuslasserre6499
@matheuslasserre6499 2 ай бұрын
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 2 ай бұрын
i ran this test in aws (eks), previously on my home lab (esxi)
@74Bagas
@74Bagas 2 ай бұрын
great
@AntonPutra
@AntonPutra 2 ай бұрын
thanks!
@siya.abc123
@siya.abc123 2 ай бұрын
Can we finally have a definite answer to Go (stdlib or framework) vs Laravel
@AntonPutra
@AntonPutra 2 ай бұрын
👀
@emilianovazquez1816
@emilianovazquez1816 2 ай бұрын
@@AntonPutra 🤣
@reze_dev
@reze_dev 4 күн бұрын
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
@mojajojajo
@mojajojajo 2 ай бұрын
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 2 ай бұрын
"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 2 ай бұрын
@@AntonPutra thanks 🙏🏽
@my_name_is_ahad
@my_name_is_ahad 2 ай бұрын
Thanks
@AntonPutra
@AntonPutra 2 ай бұрын
welcome!
@babakmahmoodi8741
@babakmahmoodi8741 2 ай бұрын
Tnx
@AntonPutra
@AntonPutra 2 ай бұрын
my pleasure!
@ivan1178-p3h
@ivan1178-p3h 2 ай бұрын
Cool!!!
@AntonPutra
@AntonPutra 2 ай бұрын
thanks! :)
@nayanmakasare9294
@nayanmakasare9294 2 ай бұрын
Thank you
@AntonPutra
@AntonPutra 2 ай бұрын
my pleasure
@abanoubha
@abanoubha 2 ай бұрын
Go std is the way to go ✌️
@AntonPutra
@AntonPutra 2 ай бұрын
yes
@cirlorm5337
@cirlorm5337 2 ай бұрын
why isn't Fiber recommended for all use cases?
@AntonPutra
@AntonPutra 2 ай бұрын
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
@Andrew-zv1vw
@Andrew-zv1vw Ай бұрын
Elixir vs Rust Vs Go please 😊
@doloreslaflipoflopo2746
@doloreslaflipoflopo2746 2 ай бұрын
next, I think you should end the debate fastapi vs django vs flask
@AntonPutra
@AntonPutra 2 ай бұрын
thank you for the suggestion! I'll put it into my list
@doloreslaflipoflopo2746
@doloreslaflipoflopo2746 2 ай бұрын
@@AntonPutra cannot wait.
@marcwinner567
@marcwinner567 2 ай бұрын
@@AntonPutra Looking forward to it sir
@footprint504
@footprint504 2 ай бұрын
Win:fastapi
@justindjeumene1156
@justindjeumene1156 2 ай бұрын
Great job for testing those. I really appreciate it so much. Fiber is the best. I do not understand why you are saying Fiber is not recommended for use cases! My application is using Fiber and I hosted it in a container
@tsubasateacher
@tsubasateacher 2 ай бұрын
yes, why is that Anton? curious as well
@AntonPutra
@AntonPutra 2 ай бұрын
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
@dwarkeshpatel766
@dwarkeshpatel766 2 ай бұрын
Can you add beego v2 with this benchmarks
@ljudina83
@ljudina83 2 ай бұрын
How about go chi?
@AntonPutra
@AntonPutra 2 ай бұрын
stdlib is based on chi logic so i assume it is close but will test soon
@quachhengtony7651
@quachhengtony7651 2 ай бұрын
Please do .NET Native AOT vs either Go or Java Quarkus
@AntonPutra
@AntonPutra 2 ай бұрын
yes it is coming, i already have updated quarkus code
@quachhengtony7651
@quachhengtony7651 2 ай бұрын
@@AntonPutra thanks! looking forward to it
@GarvitJainGJ
@GarvitJainGJ Ай бұрын
please do one for echo vs gin vs stdlib with mongodb
@AntonPutra
@AntonPutra Ай бұрын
noted
@dungeon4971
@dungeon4971 2 ай бұрын
which application are you using to display graphs?
@AntonPutra
@AntonPutra 2 ай бұрын
adobe
@dungeon4971
@dungeon4971 2 ай бұрын
@@AntonPutra I was talking about Grafana at that time 😅
@AntonPutra
@AntonPutra 2 ай бұрын
@@dungeon4971 oh, yes grafana is the best but have some legal issues :)
@EzequielRegaldo
@EzequielRegaldo 2 ай бұрын
Std ftw !
@AntonPutra
@AntonPutra 2 ай бұрын
💯
@enesusta5228
@enesusta5228 2 ай бұрын
what 3th party thing are you usign to create that graphics?
@AntonPutra
@AntonPutra 2 ай бұрын
adobe
@adcodes
@adcodes 2 ай бұрын
How can a framework be faster than stdlib?
@AntonPutra
@AntonPutra 2 ай бұрын
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
@itivanov
@itivanov 2 ай бұрын
try using Encode instead Marshal
@AntonPutra
@AntonPutra 2 ай бұрын
ok, i'll try next time
@ibrahimshehuibrahim918
@ibrahimshehuibrahim918 2 ай бұрын
After watching this video i'm switching my next project from gin to fiber
@AntonPutra
@AntonPutra 2 ай бұрын
try stdlib :)
@philipehusani
@philipehusani 2 ай бұрын
Don't do it! It's not worth it!
@AntonPutra
@AntonPutra 2 ай бұрын
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
@NoodleeDev
@NoodleeDev 2 ай бұрын
If your service start/create from strach and it will be product. I think better use std lib or gin
@kimfom
@kimfom 2 ай бұрын
C# vs Java please 🙏
@AntonPutra
@AntonPutra 2 ай бұрын
ok, will do!
Players vs Pitch 🤯
00:26
LE FOOT EN VIDÉO
Рет қаралды 132 МЛН
Walking on LEGO Be Like... #shorts #mingweirocks
00:41
mingweirocks
Рет қаралды 8 МЛН
How To Choose Mac N Cheese Date Night.. 🧀
00:58
Jojo Sim
Рет қаралды 86 МЛН
angular 19 - APP_INITIALIZER deprecation
2:43
Peter Schneider
Рет қаралды
Sqlite Is Getting So Good
28:52
ThePrimeTime
Рет қаралды 204 М.
why rust libraries may never exist.
7:26
Low Level
Рет қаралды 276 М.
Deno vs. Node.js vs Bun: Performance Comparison
12:28
Anton Putra
Рет қаралды 69 М.
Rust vs Go: Performance Benchmark in Kubernetes #205
17:16
Anton Putra
Рет қаралды 168 М.
Is Fiber the best Go web framework? Better than Gin?
21:07
Coding with Robby
Рет қаралды 40 М.
.NET and C# are in trouble. Here is what I'd do.
10:57
Ed Andersen
Рет қаралды 103 М.
Kafka vs RabbitMQ Performance
9:21
Anton Putra
Рет қаралды 40 М.