On 6/1/2020 1:40 PM, Bogdan Popa wrote:
I replied earlier today off of my Phone, but, for whatever reason
(caught in the moderation queue?), it's not showing up in this thread.
Here's what it said:
The reason for poor performance relative to the other
langs/frameworks is that there is currently no easy way to take
advantage of multiple cores using the web framework so that's being
benchmarked is single-core performance.
This is mainly a problem for benchmarks such as this, but not really
an issue in the real world where you'd just run multiple processes
with a load balancer in front.
Single core [by itself] doesn't explain the enormous performance
difference between Racket and Django.
I haven't looked at the Django submission - Python's (in)comprehensions
give me a headache. But Python's DB pool is threaded, and Python's
threads are core limited by the GIL in all the major implementations
(excepting Jython).
There are a few things Python can do faster than Racket, but the VAST
difference in performance shown in the techempower tests isn't explained
by them. My suspicion is that the Racket application is making too many
database connections and not relying enough on its open connection
pool. Hundreds of trivial requests can be served in the time it takes
to spin up a new backend process.
YMMV,
George
--
You received this message because you are subscribed to the Google Groups "Racket
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/racket-users/9236dcff-81df-1db8-c2ef-06b20e4690ec%40comcast.net.