-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement some basic benchmarks #5
Comments
cool :) Let's decide the rules of the benchmark.
and, Example request
Example response
|
I won't be working on PR #4 anymore. So, someone else can take over it. Everything in TechEmpower is open source. They use wrk for the client [0] + a lua script to enable pipelining. The code for running each server/framework is there as well.
Most of them just parse the Request-Line and the headers are parsed lazily (i.e: when accessing the headers for the first time, so they are not parsed in the benchmarks). Some of them will cache the response. So, there shouldn't be much of a difference from current benchmarks. [0] https://github.com/TechEmpower/FrameworkBenchmarks/tree/master/toolset/wrk |
Oh, that is sad, but if I have time I also want to help benchmark setup.
|
I could give a go at this, but I would need some updated information on the current state and what is actually wanted. I've ran then code from nitely and on the latest revision it does not work anymore (see discussion at #4) , however the code on the gist of cheatfate does work. Next to that, what is actually wanted now? These basics tests, or to run them with the TechEmpower framework, or something else? And should this also be set up somewhere to keep running as part of CI? Let me know... |
Current state: I am working on this #9, perhaps tomorrow I will push a working prototype |
In order to be approved as an
approval from at least 2 core contributors to give this out as a bounty via a "thumbs up" on the requirements comment. |
Your goal will be to create a benchmark testing asyncdispatch2 against the Nim's existing asyncdispatch module and the best competing frameworks available in other programming languages. A suitable choice would be implementing one of the TechEmperor famous benchmarks:
https://www.techempower.com/benchmarks/#section=data-r15&hw=ph&test=plaintext
In particular, the plaintext case was selected because it makes use of HTTP pipelining which pushes all the frameworks to their limit.
The expected delivery is working code for the test case with the new and the old asyncdispatch modules as well a set of helper scripts allowing us to re-run the tests later and compare the results against some of the best performing frameworks available for other languages.
The text was updated successfully, but these errors were encountered: