Update tech-empower versions and configuration options
flip111 opened this issue · comments
snap (and also other haskell frameworks) perform quite poorly in these benchmarks, even below some ruby, python, js, php solutions.
https://www.techempower.com/benchmarks/#section=data-r14&hw=ph&test=json
https://www.techempower.com/benchmarks/#section=data-r14&hw=ph&test=db
https://www.techempower.com/benchmarks/#section=data-r14&hw=ph&test=query
https://www.techempower.com/benchmarks/#section=data-r14&hw=ph&test=fortune
https://www.techempower.com/benchmarks/#section=data-r14&hw=ph&test=update
https://www.techempower.com/benchmarks/#section=data-r14&hw=ph&test=plaintext
the source code can be found here
https://github.com/TechEmpower/FrameworkBenchmarks/tree/master/frameworks/Haskell/snap
Good catch. It looks like maybe the admins did a cabal freeze
recently, and that their version of snap is pre 1.0: TechEmpower/FrameworkBenchmarks@cb8e149
An update would be useful ye ... but i don't think it would help much in the performance..
There's a chance of an sizable impact on performance. snap-server is built on a new iterator library. The server may be misconfigured, too. May I change the name of this ticket, to "Update tech-empower versions and configuration options"? :)
@flip111 Thanks for bringing this up. The last time I looked at this benchmark it seemed that JSON parsing and DB binding performance had a lot more to do with how you score than the framework. I personally won't have time to work on this any time soon, but it would be great if someone else did.
benchmark is now updated to lts-10.0 TechEmpower/FrameworkBenchmarks#3152 You can find the performance difference in that pull request. On first glance there seems to be some performance improvement ... but the results.json files are so big that i didn't look into it too much. I could collect some profile information with profiteur possibly.