Open flip111 opened 6 years ago
Good catch. It looks like maybe the admins did a cabal freeze
recently, and that their version of snap is pre 1.0: https://github.com/TechEmpower/FrameworkBenchmarks/commit/cb8e14980936ccd9e42b651d253832bdd47c2db4
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 https://github.com/TechEmpower/FrameworkBenchmarks/pull/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.
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