► 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
@chetana9802Ай бұрын
Hey django is old, try fastapi or sanic
@KozakZabavaАй бұрын
Nest.js vs Rocket(rust)??
@artemxyiАй бұрын
Please try Ntex(Rust) vs Axum vs Tokio vs Actix vs Drogon(c++)
@EduardoSantos-wg8orАй бұрын
I'm curious about frameworks that I believe are a little less popular, e.g. phalcon (php) or drogon (c++)
@Mr.BinarySniperАй бұрын
Bun vs Deno vs Nodejs please please please.
@speirnhujin8940Ай бұрын
Comparison between FastAPI and Go stdlib seems much more appropriate, FastAPI focuses on speed and has a lot less "bloat" than Django
@oktay9784Ай бұрын
There is not much performance difference between Django and FastAPI. Because they are both Python frameworks. That's why they are both very slow. If you think FastAPI can compete with Go stdlib, you can take a look at TechEmpower benchmarks.
@GeoGuyzАй бұрын
@@oktay9784 even if it does go still has fiber
@sargentomiliАй бұрын
@@oktay9784 Fasta Api relay on Pydantic (Rust) and many C librarys so i am not so sure.
@hermes6910Ай бұрын
@@oktay9784 I'm not a pytonista but I have a lot of doubts about a full framework like Django being as lightweight as something like FastAPI. And from FastAPI themselves on their homepage says: ‘The main features are: Fast: Very high performance, on par with NodeJS and Go (thanks to Starlette and Pydantic).’ This doesn't mean that FastAPI will achieve the same results as Go despite what it says. But since you're comparing a very fast language (Go), you have to choose the fatest library/framework for something as slow as Python.
@deez_devАй бұрын
I was going to say that too :) FastAPI vs stdlib would be more interesting for sure
@silthstraider6542Ай бұрын
I really want to see Django vs Flask vs FastAPI video
@dupdropАй бұрын
Racing snails against each other is at least fair... ;) Also vs Litestar
@silthstraider6542Ай бұрын
@@dupdrop 😁
@thelearningmachine_Ай бұрын
Flask is synchronous, it can only process 1 request per turn, until accepts the next one. FastAPI humiliate Flask in a racing of snails :D
@AntonPutraАй бұрын
noted! I'll do it in the near future
@MrVajcakatyАй бұрын
@@thelearningmachine_ Not true, wrap/place gunicorn in front of Flask and it will dominate.
@likwidsageАй бұрын
Great test but nothing surprising. Go is known to walk that line between ease of use and performance. Python more towards ease of use, with less performance. and Rust more towards performance but is harder to use.
@AntowaKartowaАй бұрын
On a course about algorithms lecturer was writing code mainly on Java, but also shows examples on Python and JavaScript. Java has showed much bigger performance than Python in every test, so I concluded that Python is relatively slow language. Recently I've read that Go is very lightweight and fast and that's why it is widely used in microservices. It made the wrong perception that Python should be slower than Go.
@AntonPutraАй бұрын
the question wasn’t whether Python is slower, but by how much it is slower 😊
@everyhandletakenАй бұрын
For sure, but the best part about Go is that it is only marginally more complex than Python, yet much better performance
@haploid2kАй бұрын
There is nothing "easy" about Python. If you hate yourself that much, by all means, use a language where whitespace is syntax. But if you value your sanity, choose something less schizophrenic, with proper block definition syntax and a static type checker.
@SAsquirtleАй бұрын
@@haploid2k pathetic skill issue, use an IDE and type hints with mypy + ruff
@dragonvslvrАй бұрын
Very cool! I recently converted a python pipeline to rust and was shocked by the performance improvements 40s -> sub 1second. If you want I might be able to help convert this to something like fastapi since it’s very popular. Might be beneficial for everyone to see
@artemxyiАй бұрын
Create the fastest python framework?
@AntonPutraАй бұрын
thanks!
@hdeoliveraАй бұрын
Great work! Bun vs Go, please 🙏
@PanicAtProductionАй бұрын
Yes. This please
@Serizon_Ай бұрын
@@PanicAtProduction Bun will lose if I remember correctly , by watching a video of some guy who converted his code from bun next to golang for static pages I guess I am also interested in this though since bun actually has bs benchmarks on its website (its comparing 17x faster for react , for a simple hello world which is pretty stupid imo) I would like to see some practical examples like how Anton does Please anton , lets see bun vs golang.
@papa_ethanАй бұрын
@@Serizon_ Nothing could match go other than C/C++/Rust/Zed/Object-C even C#.Net and Java will lose
@jlucasoАй бұрын
Up. bun (bun.serve) bun (elysia)
@AntonPutraАй бұрын
ok!
@mfc1190Ай бұрын
Awesome video - quick nit: in the CPU Throttling, you have zig instead of go. This was really insightful!
@AntonPutraАй бұрын
thanks, it just a label from the previous benchmark it is actually golang
@mfc1190Ай бұрын
@@AntonPutra yeah no worries, just figured I would give you a heads up if this is attached to a repo
@christiangualteros36Ай бұрын
Thank you. Great job. These benchmarks are so good and a great idea for the people who work in production.
@AntonPutraАй бұрын
thanks!!
@УважаемыйЧеловек-л4сАй бұрын
Every Django task is blocking, so there is big latency when working with multiple users. There is obvious optimizations for Django app - use async views, async calls to dbs, async middleware + some asgi server (like uvicorn). For further improvement you can use C-written "NGINX Unit" as WSGI/ASGI server instead of Python-written Gunicorn/Uvicorn. And looks like there is unnecessary middlewares, too. I hope someone else can make pull request because I used Django only a couple of times (not a big expert, esp. talking about performance) Would like to see FastAPI vs Django vs Go stdlib vs some js backend (maybe both Node and Bun) in the next video.
@AntonPutraАй бұрын
thanks! i'll try async views in the future
@Vismund2Ай бұрын
@@AntonPutra Configuring gunicorn to use gevent workers should be quicker to set up. But I'd still be very interested in comparing it with actual async python functions.
@AntonPutraАй бұрын
@@Vismund2 no, i'll try async
@shulehrАй бұрын
@@AntonPutra i cant wait to see that one :)
@099watcherАй бұрын
Thank you, I was really looking forward to this.
@AntonPutraАй бұрын
my pleasure
@nightmarenova6748Ай бұрын
This is so interesting! As someone who likes to self-host stuff i have an instance of Authentik(an Auth provider for your self-hosted services made largely with Python and Typescript ) where for all its services like the agent and the service itself it consumes around 1 to 1.2gb of ram! Which is quite insane . As soon as i saw the graphs in this video it reminded me of Authentik! Thanks for yet another amazing video btw! Keep up the great work!
@AntonPutraАй бұрын
haha, thanks!
@abdussametkaci5795Ай бұрын
Nice content, please Spring Boot (Native) vs Go 🙏
@AntonPutraАй бұрын
thanks, will do soon!
@konoko-o3oАй бұрын
Very good video as always. But I think that results are expected, will be interesting compare between Python frameworks popular for backend: Django Rest Framework, FastAPI and Flask.
@AntonPutraАй бұрын
Thanks, yes, but I didn't think that it could only process 2.5k requests.
@BeeBeeEightАй бұрын
I find yr videos really insightful. U are probably the only person and channel that really demonstrates that the choice of programming language is a very important factor in software/web development. Many people are guilty of burying this in the hopes that their favorite stack will not be exposed for the CPU vampires that they are. At this point it seems that Go is the fastest GCPL for pretty much anything memory safe while Rust is the fastest non-GCPL for the same. 😅
@AntonPutraАй бұрын
Well, I'm a DevOps engineer, not a programmer, so I don't have any bias😊
@mr.nobody4494Ай бұрын
☝ Please, C# with .NET 9 vs (Java with Spring Boot and Python with FastAPI), all of these using PostgreSQL. Thanks in advance! 🙌
@AntonPutraАй бұрын
ok, i'll come back to c# and .net soon
@antonmarini3662Ай бұрын
A few questions which might help with Python performance that I didn't see addressed * what version of python are you using? * can you test with async views in Django? I'd never expect python to be nearly as performant but im curious if the latest GIL updates in 3.11, 3.12 and 3.13 along with Django's Async views help with the dismal performance? Thanks from a fellow Anton :)
@AntonPutraАй бұрын
Thanks! :) I'm using 3.12.6 - github.com/antonputra/tutorials/blob/main/lessons/209/mydjango/Dockerfile#L12C13-L12C19 I'll try async views next time
@andresaguilar3055Ай бұрын
Hey, I’ve been watching your videos for a while now. I really appreciate this kind of content. Especially for a person obsessed with perfomance like me. I would really like to see a comparison between databases perfomance. Especially postgresql vs mysql. Thank you btw.
@AntonPutraАй бұрын
Thank you! I’ve been thinking about those two for a while. I'll get to them soon.
@mallickpriyanshuАй бұрын
Would love to see a Nodejs (Express) vs Python (FastAPI)
@AntonPutraАй бұрын
ok noted!
@jimzordstam6338Ай бұрын
Amazing and professional video as always, I actually requested this one in the previous (Rust vs Zig) so a million thanks! Personally, I used Bun.js + Elysia a week ago and had a great DX. So having a Benchmark that answers which JS web framework is the fastest would be awesome. For Node.js I would choose the Hyper express or Hono, Elysia for Bun and I have no clue about deno.
@AntonPutraАй бұрын
Thank you! I’m actually planning to do Node next
@adrianbool4568Ай бұрын
On your question about why is Python transmitting so much more data across the network. I suspect that is due to Gunicon not supporting HTTP KeepAlive on sync requests and therefore you're seeing the TCP setup & close traffic for each any every request to the Python server. Go's ServeMux does seem to support HTTP Keepalive; hence its comparitively lower traffic levels. I guess an async Django instance, supporting HTTP KeepAlive, would be interesting - if possible!
@AntonPutraАй бұрын
Thanks! I'll look into HTTP KeepAlive and try async implementation as well
@FAELP22Ай бұрын
Very good, thank you. Could you teach me how to configure Prometheus and Grana in the EKS cluster? And how to create this dashboard?
@AntonPutraАй бұрын
sure i'll come up with some new tutorials how to
@MrQsamАй бұрын
Pretty useful stuff, as always. I would love to see a comparison between Python FastAPI and frameworks from other languages.
@AntonPutraАй бұрын
thank you, will do fastapi soon
@mirkamolmirobidov1991Ай бұрын
Awesome test format. I want to see c++ userver vs rust benchmark it will be interesting to see cpu and ram usage also latency
@AntonPutraАй бұрын
thank you! yes i'll do cpp soon
@hectors.1644Ай бұрын
great content, Nice thumb by the way!
@AntonPutraАй бұрын
thank you!
@billn98Ай бұрын
Nice video 👍. Can you do Dart vs Go next (Serverpod vs Gin, or both stdlib)?
@AntonPutraАй бұрын
will do soon
@tacorevenge87Ай бұрын
Wow man love your videos
@AntonPutraАй бұрын
thank you!
@MaksimG735779 күн бұрын
Сравнение Python FastAPI и Golang stdlib было более корректным. Спасибо за контент.
@AntonPutra9 күн бұрын
horosho, spasibo!
@sanchitwadehraАй бұрын
Dhanyavad
@AntonPutraАй бұрын
my pleasure!
@ORiastanjungАй бұрын
Love the way you explain it dude, it really tell us many information from it. I really curious on Laravel PHP vs NodeJS Would you mind try it also? since those three were very popular in my city currently
@AntonPutraАй бұрын
thank you! yes node is the next
@wolfeygamedev1688Ай бұрын
As someone who uses FastAPI professionally as a data engineer, and Rust as a hobbyist. Python itself is slow as a slug, but ive found that through just using polars for all of the actual data manipulation. and python just for basic control flow / config makes things much better. My super brilliant coworkers actually do the data manip inside of pure python, and yes, that is just abysmally slow. In my experience the average python dev who only codes for work, and doesnt know any compiled langs, are often oblivious as to what is going on under the hood, and thereby unaware of the memory and compute messes they create.
@JonathanlouisaАй бұрын
php/Laravel vs Bun vs Python pls
@Dipj01Ай бұрын
Yeah +1 for laravel
@ORiastanjungАй бұрын
yep im curious on these laravel/php also
@AntonPutraАй бұрын
ok, soon!
@Smaylik032 күн бұрын
@@AntonPutra Make sure to use Laravel Octane (with Swoole or FrankenPHP), not php-fpm
@lastink444Ай бұрын
such a nice series
@AntonPutraАй бұрын
thank you!
@HientmАй бұрын
Ruby on rails vs java. Can you check perfẻomance?
@AntonPutraАй бұрын
yes will do!
@MD.NazrulIslamKhan-b8jАй бұрын
@AntonPutra Please add `blacksheep` python framework in your next test which is well known for it's performance
@AntonPutraАй бұрын
sure, i'll take a look
@AGAU1022Ай бұрын
Could you add some measure of cold start performance? Or did I miss it?
@musashigaramiАй бұрын
I'm scared to see node js next XD, node js vs Go would be a good one.
@AntonPutraАй бұрын
😊
@f4z0Ай бұрын
I'd really like to see how FastAPI behaves
@AntonPutraАй бұрын
ok i'll do FastAPI soon
@mukundjajadiyaАй бұрын
Hi, When you will bring bun vs nodejs in typescript. Excited to watch it
@AntonPutraАй бұрын
node vs go next, then all bun
@milacc0000Ай бұрын
How about compare python on JIT (PyPy) and others? AFAIK with JIT, python caches functions so maybe python can handle more requests without reaching CPU limit so fast
@AntonPutraАй бұрын
ok, i'll consider it
@brandonkauffman7256Ай бұрын
Looks like Go's postgres connection limit is reached with 4 connections causing the timeouts.
@brandonkauffman7256Ай бұрын
I made a PR to allow a higher max connection limit
@AntonPutraАй бұрын
thank you! merged and i'll be using the same 20 for other languages as well
@AGAU1022Ай бұрын
Thanks for these. I would love to see Elysia vs Fresh (Deno)
@AntonPutraАй бұрын
no problem, will test Elysia soon
@j-p-d-e-vАй бұрын
Great content! This is one of the reason Im refactoring from python(django) to rust(actix) in one of my apps at work. And uwsgi is a nightmare to configure. Though Django is still my goto web framework for doing MVP apps.
@antonmarini3662Ай бұрын
I'd be curious how much of the Django ecosystem has equivalent plugins on other platforms. Part of the draw of Django is how full featured the ecosystem is.
@j-p-d-e-vАй бұрын
@@antonmarini3662 Agree with this, actually in my case I build it from scratch or use a similar library then just add those missing features.
@AntonPutraАй бұрын
It's easy to develop with, but hard to migrate from. We've been running Django for multiple years already, and they just keep adding more features.
@LinuxGamerYTАй бұрын
Could you test the Emmette framework in Python? It is written in Rust and uses asynchronous Python.
@AntonPutraАй бұрын
ok, just added to my list
@chu121su12Ай бұрын
👋 requesting similar benchmark for java (especially with v22 vs v23 which had new gc) vs go/rust. thanks in advance
@galiKZ0Ай бұрын
Yes! Should be interesting!
@AntonPutraАй бұрын
noted! i'll come back to java and c# soon
@FlipidiflopАй бұрын
I don't understand the caching that happens for go How it is setup? Is it a default behavior? Like why is it doing it just when cpu is a 100%?
@AntonPutraАй бұрын
Yes, since I use the standard library, it doesn't have any rate-limiting capabilities, so it accepts each request. Eventually, all those requests fill up the memory, and it crashes. That's why you might choose a framework or at least implement it yourself.
@LiveTypeАй бұрын
"Simple" improvement for the django app I saw is to switch to async everything. This does increase the complexity of the project (and debugging) but should increase throughput a meaningful amount. For the go db connection, I did see that the maxConnections was increased to 20 so I suppose that's a fair place to start. I would say increase both the python and go to the max allowed of 100 connections for a saturation test.
@AntonPutraАй бұрын
thanks, i'll try async views next time and set poll connections to 20 for both
@FenosproАй бұрын
I would like to see one with NodeJs fastify vs Golang
@AntonPutraАй бұрын
node is next
@ZodakZachАй бұрын
so now that u can make websites with just go stdlib i wonder if there are any differences in performance when using something like echo
@AntonPutraАй бұрын
I haven't tested Echo yet, but those web frameworks have useful middleware, logging, rate limiting, etc.
@thewalkthroughmakingАй бұрын
Hey! Love your videos! Can you do an updated comparission between Istio and Linkerd2? But now using Istio's ambient mode (as oposed to their traditional sidecar mode) They claim that is much less resourse intensive, easier to manage and production ready
@AntonPutraАй бұрын
Yes, but probably Istio (sidecarless) with Cilium.
@aaliboyevАй бұрын
You made me think on switching to go api backend
@AntonPutraАй бұрын
no so fast, i want to try async views as well, they say it's much faster
@VinayGoudtallapalliАй бұрын
Whoa..Not even a competition from Go's side
@AntonPutraАй бұрын
well, I need a rate-limiting library to avoid oomkills
@MMEEEishАй бұрын
The problem is in Django, and not Python. fastapi or sanic will show way better results @AntonPutra
@dmitrydudalov8886Ай бұрын
try pypy interprieter. i had dramatical improve performance just change and have JIT
@AntonPutraАй бұрын
thanks! i'll try
@friedrichdergroe9664Ай бұрын
I would love to see this benchmark between Go and Elixir. They are more similar as both are designed to handle high concurrency.
@AntonPutraАй бұрын
ok, noted!
@alexreustleАй бұрын
I’d like to see a benchmark test of c++ Drogon framework vs similar competitors, like actix in rust
@AntonPutraАй бұрын
will do!
@alexreustleАй бұрын
@@AntonPutra you’re very kind. Thank you
@RobertoMaurizziАй бұрын
If I understand correctly, Go does automatic parallel scheduling of the code that manages the requests. In Django you should use async view functions and run using the asgi interface provided by Channels. It'll still be way slower, but better than what you got. Also, you should run it using an application server like uwsgi (I can't see how you ran it, I'm on a phone and it's too small/fast 😅)
@RobertoMaurizziАй бұрын
... and youtube won't allow me to comment about how to use uvicorn to run the project using async... It's in the official docs 🙂 I'm curios to see how much things change with async views.
@bozhidaratanasov7800Ай бұрын
Why do you deploy each test in a separate EKS?
@AntonPutraАй бұрын
It's very expensive to keep it around
@madsemy55what604Ай бұрын
What's the difference between Golang devices endpoint in this video vs the same endpoint in video vs rust? In vs rust video, go lang reached 14k req/s, here it got to 67k req/s. The only difference from pods is memory.
@AntonPutraАй бұрын
I improve the infrastructure and test design with each new video and the advice I get. In the previous video with Rust, the socket count was the problem that limited rps
@Error_00101Ай бұрын
What type of compression with what strength is used if any? -> that could explain the more data recived
@AntonPutraАй бұрын
I didn't enable any compression middleware for Django and also used just the default Go stdlib without compression or any proxies like Nginx. github.com/antonputra/tutorials/blob/main/lessons/209/mydjango/mydjango/settings.py#L23-L33
@Mr.BinarySniperАй бұрын
Please, we want a test between javascript runtimes. Bun vs Nodejs vs Deno. Please please.
@AntonPutraАй бұрын
yes, next node vs go, right after i'll test these three i promise
@DavidSmith-ef4ehАй бұрын
I assume bun has a small edge over node and node has a small edge over deno. deno being the slowest of them all, but not by mutch. maybe 5% slower than bun.
@Mr.BinarySniperАй бұрын
@@DavidSmith-ef4eh yeah. thats all we wanted to see.
@ashwinsnmvАй бұрын
@@DavidSmith-ef4ehactually node is slower than Deno in many benchmarks. Bun is fastest because it uses c based library with js bindings.
@musashigaramiАй бұрын
@@AntonPutra This is awesome! Thanks
@muray82Ай бұрын
You should compare python to C# If I'm not mistaken the results are almost same?
@AntonPutraАй бұрын
😊
@mukundjajadiyaАй бұрын
In cpu throtling graph you forgot to rename as go it's show zig from previous test. Just try to grabe your attention 😊
@AntonPutraАй бұрын
haha, i know
@pkucmusАй бұрын
Hi, first time here, I would love to learn how to make such benchmarks. Would also like to see something more modern for Python like FastAPI or Starlette (ASGI) VS Fastify TypeScript
@AntonPutraАй бұрын
Ok, noted! I'll make some tutorials on monitoring in the near future as well
@zakimimitАй бұрын
Can we see: -Django DRF vs Django ninja -Django with celery Vs nodjs or Go This will be fair comparison Thank you for the content
@johnmcway6120Ай бұрын
what do you mean django with celery?
@reiuji_utsuhoАй бұрын
Python has always been great for prototyping and scripting. But as always, once you get to the point where you need serious performance it's best to rewrite in some other language.
@AntonPutraАй бұрын
Some large companies are still using Django in production because it's very hard for them to migrate, lots of features
@soubinanАй бұрын
Thanks for this benchmark Would be good to have go vs python but with fastapi and robyn (python flask like but based on rust)
@AntonPutraАй бұрын
ok, next time i'll use async functions in python, should be faster
@abdulawal604Ай бұрын
Why not MySQL vs PgSql vs Sqlite(WAL mode)
@AntonPutraАй бұрын
yes i was thinking about db comparisons, i may do them in near future as well kafka vs rabbit etc
@erlanggafauzanrezaganie9595Ай бұрын
i really like your content, but can you try modify the django to use uvicorn instead ? i'd like to see how much the different
@ArturDaniАй бұрын
Nice work as always. Could you please do Laravel vs Express vs Django?
@AntonPutraАй бұрын
thanks! i'll do express next
@rafael_tg5 күн бұрын
Please compare with fastapi
@liorbm5779Ай бұрын
Does the GO framework, offer as much as Django offer? Also, GO is compiled and it's a language, Django is a framework of interperter language. If python will have compiler the differences will be small. Not a good comparison, sorry.
@AntonPutraАй бұрын
I know, I just received multiple requests to compare Django, and I personally have a lot of experience running Django in production at my company. It is slow but hard to migrate from.
@liorbm5779Ай бұрын
@@AntonPutra Honestly, I will compare apple to apple. Let's say Express(or similar) to FastAPI (with and without some JIT for python) Anyway, thanks for your effort 😊
@toragodzenАй бұрын
Django is for the quickest path from the idea to something actually working ... And this is why I will keep using even watching how it dramatically fails in benchmark tests 😂
@HarshRanjan-z4bАй бұрын
Could you do some kind of benchmark on number of active connections and how well actix-web handles it as compared to something in erlang? I would love to see why WhatsApp decided to go with erlang (even though Rust probably wasn't too mature/did not exist?) over the more mainstream tools, maybe even C++. C++ also has a relatively less known web framework in the form of drogon.
@AntonPutraАй бұрын
Yes, I keep optimizing the DB setup. I’ve now set the pool to 20 connections and some timeouts, but scaling the connection pool is usually handled by the library itself. I have metrics from the database to visualize them in Grafana.
@AlexanderBorshakАй бұрын
Like for the video; but what do these huge logos of Python and Go mean? It would be better to have a legend, that shows which color belongs to which language.
@AntonPutraАй бұрын
I have it in the actual test, you can skip it and have a timestamp in the description.
@AlexanderBorshakАй бұрын
@@AntonPutra I saw that later in the video, thank you. But still wanders - what do the huge logos of Python on the left side and Go on the right side on the charts mean?..
@AntonPutraАй бұрын
@@AlexanderBorshak nothing really, i don't have a good explanation :)
@fojico1234Ай бұрын
Django Vs stdlib!!!!. Pick a lightweight library Vs another lightweight please
@AntonPutraАй бұрын
sure, someone just asked me to compare django so i did
@hiteshmohite767717 күн бұрын
Hey friend, Can you make comparison of Go - Gin vs Python - FastAPI vs Java - Spring Boot
@AntonPutra12 күн бұрын
ok just added to my list
@richardnpaul_mob10 күн бұрын
Async would be good but I'm a little concerned by the k8s and gunicorn configuration. Actually the Docker file too. You have 3 Gunicorn workers which can each use up to 1CPU, you have CPU limited to 2 which can mean that k8s can start starving the workers of CPU time. This is a common issue with K8s and why for things like Web apps you never want to apply CPU limits (I understand why you're doing it here as you're using machines that are far in excess of 2 CPU cores and want to limit their CPU access). It's also why you probably see some of the weird behaviour that you do because I've seen similar with production workloads where CPU limits are in place in k8s deployments. You probably don't want to turn off the python file caching in the Dockerfile for the final stage image as this can affect performance; I believe.
@AntonPutra10 күн бұрын
ok, thanks for the feedback. it's more of an art to optimize applications in kubernetes, but i get your point. i'll spend a couple of hours next time tweaking workers and CPU shares in k8s 😊
@richardnpaul_mob9 күн бұрын
@AntonPutra I think with the video you dropped today you used instances with 2 cores, so this is what I would do, use 2 core VMs and don't use limits and you can leave the remaining configuration as is so long as Go has access to using both cores as well. They won't have access to all of both CPU cores because of requests on things like any daemonsets but that should be the same for both instances.
@iulikdevАй бұрын
Please test elixir/phoenix to debunk the greatest elixir! 🤣
@infantfrontender6131Ай бұрын
Debunk? Elixir is not faster than Go. It may be quicker than Python, but it depends The question is how to compare Elixir with their own fault-tolerance system. Do we need to use Docker with Elixir or not? Elixir has self-healing at the code level, and Docker can add it at the cluster
@AntonPutraАй бұрын
sure, will do it soon
@i3looi2Ай бұрын
DAMN son. sub 1ms execution time. What the hell. Too bad usually the connection to that api bumps it up to ~100ms+ xD
@AntonPutraАй бұрын
well, it's in the same VPC, so there's low latency
@vlatterranАй бұрын
Need some go vs nim benchmarks
@AntonPutraАй бұрын
noted
@Mbd3Bal7dodАй бұрын
do FastAPI with python 3.12 or 3.13
@s1v7Ай бұрын
It’s such ironic that Python is used in some of the most computationally demanding areas.
@AntonPutraАй бұрын
thinking about comparing big data apis for spark/flink: python vs java/scala
@lohithvenkatesh4831Ай бұрын
Can you compare Robyn vs gin please?
@AntonPutraАй бұрын
ok, noted!
@jeniamtl6950Ай бұрын
Does go use stblib? I don't think so.
@AntonPutraАй бұрын
yes it does - github.com/antonputra/tutorials/blob/main/lessons/209/go-app/main.go#L88-L90 It's a bit slower than Fiber, though
@midgardresidentАй бұрын
Please compare PHP vs Python vs Node vs Go
@AntonPutraАй бұрын
will do soon
@martinhotmann7868Ай бұрын
At "CPU Throtteling" you mislabled the blue line as "Zig" instead of "Go" ;)
@AntonPutraАй бұрын
yes, it is from the previous benchmark a ran, it just copy paste :)
@muharief3885Ай бұрын
Django is a framework, and you've compared with stdlib non framework compiled go? what a on fair comparison. It was apple and orange. When go is async from the start, that huge django is threaded sync framework dude. Whats the point comparing compiled language to interpreted language when simple hello world is enough to justify compiled lang supremacy. The closest thing you can do is comparing go with python fastapi/falcon + pypy which is far superior to django in term of performance. Django is big because you have everything included to develop fast business application.
@AntonPutraАй бұрын
I know, I have a lot of experience running Django in production at my company. I know it's slow, but I've received several requests to demonstrate just how slow it is.
@plathardstuck28Ай бұрын
@@AntonPutra now you need to demostrate how slow you will write in Go all built-in systems, that django has out-of-box. Templating, translation, timezones, auth, sessions, ORM (with very complicated queries support), CORS middleware, clickjacking middleware, password hashing... list goes on. Plus there are TONS of working solutions, that you can use for your applications in notime (DRF, Djoser, Django-model-translation etc.). It is slow. But not "just slow for nothing" - that bunch of tools comes at price.
@SAsquirtleАй бұрын
please do one with FastAPI with purely async routes (async route function + async function calls inside or run_in_threadpool for sync functions)
@AntonPutraАй бұрын
ok will do
@R_Y_Z_E_NАй бұрын
The rust war - Actix vs Rocket vs Axum
@AntonPutraАй бұрын
i have it already
@DavidSmith-ef4ehАй бұрын
doesn't sound like a fair benchmark. it's like a race between Hussain Bolt and Joe Biden.
@nanonkay5669Ай бұрын
What's not fair about the comparison? How he conducted it or the languages used?
@DavidSmith-ef4ehАй бұрын
@@nanonkay5669 python is know to be one of the slowest languages, while go is on top of all benchmarsk... it's too much of a gap to even compare them.
@nanonkay5669Ай бұрын
@@DavidSmith-ef4eh people understand that and we all heard it, but some want to see it and also quantified. It doesn't make the benchmarking unfair
@statuschannel8572Ай бұрын
@@DavidSmith-ef4eh you'd be suprised how many people believe Python is faster than others. A solution architect even told me python is faster than what he uses everyday( C# )
@roccociccone597Ай бұрын
@@DavidSmith-ef4eh lots of people use Django and Python for server side code.
@salim444Ай бұрын
this is a great series. Can you try go gnat and zig zzz libraries?
@AntonPutraАй бұрын
ok noted!
@miguelalzate4850Ай бұрын
I would like to see go vs node.js😁
@AntonPutraАй бұрын
next
@ooguro8513Ай бұрын
The comparison is not valid. Django has a significant number of default middleware, which means that the request must go through several processes before reaching the view function.
@ooguro8513Ай бұрын
One thing to keep in mind is that it is not appropriate to compare programming languages or frameworks directly, as each has its own advantages and disadvantages.
@ooguro8513Ай бұрын
The success of a project does not solely depend on the tools used, but rather on the intellectual capabilities and expertise of the individuals involved.
@ooguro8513Ай бұрын
For instance, Instagram was developed using Python Django. Do you believe it is slow? Of course not, correct?
@AntonPutraАй бұрын
At my company, we've been running Django in production for at least 4 years. Yes, it's a totally production-ready framework, but it's just slow. I have a lot of experience running Django in production under heavy load :)
@CuteseGamerАй бұрын
You can write django app in days instead of months for the go version. Just start the MVP with django, it scales horizontally well and add some go stuffs if your app becomes really successful. Otherwise it will sit on your $5 vm processing 10 request per day which comes from yourelf. Good bye
@gibzrival1565Ай бұрын
This was a loosing battle, -I bet rust vs python would be a bloodbath😅
@AntonPutraАй бұрын
maybe fastapi, will see :)
@ashish99311Ай бұрын
Please make video on NEST JS and RUST Vs RUST
@AntonPutraАй бұрын
ok, node is next
@rankalaАй бұрын
NestJS and some other Node.js based frameworks would be interesting
@AntonPutraАй бұрын
ok, i'll do node/express next then other js frameworks
@rankalaАй бұрын
@@AntonPutra nice, just keep in mind, nestjs sits ontop of express.
@AntonPutraАй бұрын
@@rankala Yes, I saw that it has a couple more thousand stars on GitHub.
@dominikgasparic2930Ай бұрын
Cool video, but I noticed that Debug mode is turned on for django in repo
@dominikgasparic2930Ай бұрын
I would also get rid of security and auth middlewares since you are not using auth and sec in go. Another thing is i18n. Django dev here 😂. Do you accept PRs?
@AntonPutraАй бұрын
thanks, no, it's turned on for local development only. for deploying to prod, it is turned off - github.com/antonputra/tutorials/blob/main/lessons/209/deploy/django-app/configmap.yaml#L23
@AntonPutraАй бұрын
sure, i would love to accept any PRs to improve both applications, just keep that in mind local dev settings - github.com/antonputra/tutorials/blob/main/lessons/209/mydjango/mydjango/settings.py prod settings - github.com/antonputra/tutorials/blob/main/lessons/209/deploy/django-app/configmap.yaml
@BobaZooba28 күн бұрын
Please make a kotlin ktor vs Go stdlib
@CuteseGamerАй бұрын
Database will always be the slowest part in your stack!
@kinggrey2511Ай бұрын
Edit: i saw your channel Why python try java , now that you mention it I really wanna know iam curious