Earlier quoted context omitted.
Im somewhat traditional with my web, javascript and php. But are people really doing python and web development? I love python for my web crawlers, photoshop automation, and table formatting automation- But I never considered it a web contender. Any major sites running python? Whats the popular way people are doing it?
In the dim and distant days of 2010ish, Python was quite widely used for back-end development, typically using Django or Flask. Instagram, Disqus and Pinterest were all originally built on Django, IIRC.
Web Framework Benchmarks
81–90 of 116 posts
Re: Web Framework Benchmarks
#82I'm not familiar with this site and benchmarks, but from reading comments it seems to be respected. Given that, I'm confused why this is called "web framework" benchmarks. It looks to me like it is comparing some actual frameworks (which rank very poorly) against minimalist, task-focused http servers (which rank highly).
Re: Web Framework Benchmarks
#83I'm not familiar with this site and benchmarks, but from reading comments it seems to be respected. Given that, I'm confused why this is called "web framework" benchmarks. It looks to me like it is comparing some actual frameworks (which rank very poorly) against minimalist, task-focused http servers (which rank highly).
Re: Web Framework Benchmarks
#84You need to have many nodes and a a well distributed and scalable infrastructure to handle 1B req/hr.
There is no point to benchmark your programming-language/framework when doing web development.
When it comes to web, you will hit N different capacity limits before that even with slowest framework, starting from your database, network connections, bandwidth, third-party API rate limits, IO performance etc...
Consider only a few options base on project requirements, ecosystem, productivity, and available human resources. then compare the top two on performance.
You can't compare H2O and Rails on the same list. they are two different animals.
Moreover, I'm sure all of these frameworks are not well optimized for a raw performance benchmark, and also these results are heavily affected by filters you are choosing. Don't spend time on pointless benchmarks.
Re: Web Framework Benchmarks
#85Just a reminder if speed was the only thing that mattered we all would be using assembly now.
Im with you, although we will see if animations can hide loading times. Btw, you will always have people that disagree with you. I get crap about the loading time of my website, but since I changed to a massive beautiful change, my conversion doubled overnight. I think a human can decide for themselves if something takes too long. I ran into this issue and optimized, but I wouldnt be chasing benchmarks.
Re: Web Framework Benchmarks
#86I'm not familiar with this site and benchmarks, but from reading comments it seems to be respected. Given that, I'm confused why this is called "web framework" benchmarks. It looks to me like it is comparing some actual frameworks (which rank very poorly) against minimalist, task-focused http servers (which rank highly).
That said, in tests such as Fortunes, you will see many full-stack frameworks demonstrating their capability to deliver myriad web application fundamentals (such as request routing, database connection pooling, ORM, XSS countermeasures, character encoding, data structures, and server-side templates) at very high performance levels.
This project establishes a high-water mark of performance. Very few web applications process anything remotely close to the requests per second we're measuring. But using Fortunes as a proxy and applying a coefficient (e.g., 0.005) to adjust for real-world application sizing can give you a very rough but nevertheless potentially useful approximation of real-world expectations. For example, one can guess their application is 200 times more complex than our Fortunes test. Rough back-of-the-envelope math will then estimate a framework from the ultra-high performance tier (~200,000 fortunes/sec) might yield a generous ~1,000 real-world app requests per second on a modern Xeon server. Meanwhile, a framework in the middle tier (~10,000 fortunes/sec) would yield a more constraining ~50 real-world app requests per second. Again, this math is hand-waving and you can interpret the results in whatever way you prefer; you can dismiss the validity of approximating things so coarsely. But my experience is that real-world applications based on frameworks I've used—which are sprinkled among all tiers of our results—do align with this hand-waving approximation.
Edit: I invite you to read the last section of the blog entry about this round [2] where I argue the same point in another way and share one of the tweets from an application developer whose real world application benefited from the performance improvements made to his favorite framework.
[1] https://www.techempower.com/benchmarks/#section=motivation
[2] https://www.techempower.com/blog/2018/06/06/framework-benchm...
Re: Web Framework Benchmarks
#87One thing I've noticed is that all the fastest implementations now run PostgreSQL. For the longest time MySQL was thought to be faster, so I guess PostgreSQL really caught up recently. I'm seeing it be the default database in a lot of new open source projects.
Re: Web Framework Benchmarks
#88Trust me. You won't hit 424,712 requests per seconds per each node (that is 1,528,963,200 per hour). You need to have many nodes and a a well distributed and scalable infrastructure to handle 1B req/hr. There is no point to benchmark your programming-language/framework when doing web development. When it comes to web, you will hit N different capacity limits before that even with slowest framework, starting from your…
Shit, pre-A16Z raise 500px ran on Rails and they were a social network around photography. You think Twitter is bad? Try timelines where you have half a million photographers liking hundreds of photos an hour and every like gets pushed into every feed of the people following them. Guys syncing their entire photo library. It was 5 application servers, 4 MongoDB servers for the timeline with some crazy data structures, one or two MySQL DBs.
I think most web projects these days should be in either Pheonix, Rails, or similar. If you need something really fast here or there just fork off the request in Nginx or compile something in Rust or C and extend it into Ruby (or whatever). Or have a compiled worker that communicates through the DB or Redis. There is this long tail of UI you need to make for every web project and nobody uses it 99.999% of the time. It should be in whatever secure language / framework that brings it to market fastest.
Re: Web Framework Benchmarks
#89Earlier quoted context omitted.
I agree with the overall sentiment. Plus almost all cases I run into performance issues with e.g. Python in general web development, that main problems were how the code was written, not what it was written in and being bottle-necked by the database. That said I disagree a bit with saying it is a a solved problem unless you are Google-scale. In developing countries if you are in a small company without big investors,…
Im somewhat traditional with my web, javascript and php. But are people really doing python and web development? I love python for my web crawlers, photoshop automation, and table formatting automation- But I never considered it a web contender. Any major sites running python? Whats the popular way people are doing it?
That's in my opinion the main reason why Python and Ruby on Rails got massively popular for web dev in the 2010s. Since then new and existing languages have started breaching into that spot.
What still makes Python stand out is its flexibility and the sheer amount of resources available(libraries, frameworks, books, etc.) across numerous domains. It is a good enough choice for a lot of things, although its not necessarily the best choice for anything.
Re: Web Framework Benchmarks
#90I'm not familiar with this site and benchmarks, but from reading comments it seems to be respected. Given that, I'm confused why this is called "web framework" benchmarks. It looks to me like it is comparing some actual frameworks (which rank very poorly) against minimalist, task-focused http servers (which rank highly).
Yes, exactly. I'd love to see some examples of a CRUD based API built on top of h2o. At least this appears to be possible with one of the higher performers (cppcms).