-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Add new servant benchmark: mysql-haskell #4550
Add new servant benchmark: mysql-haskell #4550
Conversation
- Nesting the current/default test under `hasql` so we can have multiple other tests under the same servant framework. - Updated Dockerfile (which cannot be moved as per benchmark conventions) to reference the new source dir for `hasql`. - Decided to move `stack.yaml` into subdir as well so each test can pin itself or upgrade independently.
- Lifted most of the initial code from `hasql` benchmark before adopting it to replace `hasql` database libary with `mysql-haskell`. - Added dockerfile and updated benchmark config to include mysql-haskell bench. - Added top level `servant` README that explains the multi benchmark dir structure. - Git ignore `.stack_work` so devs can locally build haskell benchmarks without having to contend with stack artifacts.
Caches dependencies between local development iterations where only source code changes.
@jkarni and @winterland1989: would appreciate your feedback greatly |
@naushadh Great work on the other PR; saw your delta chart. This looks good, just need you to remove the license. We don't accept licenses for test implementations. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! A couple of questions occurred, but feel free to ignore them!
Latest run (not completed) shows stats for https://tfb-status.techempower.com/results/0785634e-9677-41ed-9780-d293a3ed06fc |
It's cool though, decided to write a script to crunch stats like the visualization ui: https://gist.github.com/naushadh/f507030b58209ea0abdfccfd99c0eda4 |
$ pipenv run ./toolset/utils/score.py --results ~/Downloads/
results.2019-03-18-14-39-34-182.json --framework servant servant-mysql-haskell
|
@nbrady-techempower any idea why |
@naushadh Yes. It's because the metadata file that the visualization tool is using doesn't know about |
Gotcha; I assume that UI is closed source? I couldn't find a project under the TechEmpower org that might have it. |
Yeah it's closed source for now and maybe a little unruly. We've had it on the roadmap to create a new results web site and open source it here but unfortunately, or rather fortunately for paying business, we've had our resources tied up elsewhere. |
@nbrady-techempower since I've been adding (will continue) to add more frameworks and tune them, I want to ensure my script is producing scores in the same logic as the Web UI. I would appreciate it if you could give it a review; specifically the
|
This looks right to me and I've verified it against some visualized results. One thing I will point out is that we always divide totalRequests by 15 seconds (kind of related issue: #3947) So if I take the last run https://tfb-status.techempower.com/raw/results.2019-04-01-09-56-32-560.json your script will show |
servant
bench, but it timed out before getting to the incomingservant-mysql-haskell
bench: https://travis-ci.org/naushadh/FrameworkBenchmarks/jobs/505522644servant-mysql-haskell
strings in results.json toservant
to get the visualization UI to render results. Attached results has this rename in place for easier visualization.