Okay, Nim is really fast in these benchmarks on ec2 servers, impressive. Does anyone has experience with nim web stack? Is it ready for prime time? How much effort is required to create a simple CRUD json api? On a sidenote I am really looking forward to comparing rust and elixir results in the next round of benchmarks.
See: https://github.com/dom96/jester
Techempower Web Framework Benchmarks Round 10
21–30 of 66 posts
Re: Techempower Web Framework Benchmarks Round 10
#22The chart says Play Framework didn't complete but looking at the output, the logs say it did. https://github.com/TechEmpower/TFB-Round-10/blob/master/peak... What am I missing?
Sorry, the links to logs were going to logs from a preview run. I've just changed the links to direct to the final logs. In the final run, play2-scala did not respond: https://github.com/TechEmpower/TFB-Round-10/blob/master/peak...
https://github.com/TechEmpower/FrameworkBenchmarks/blob/mast...
Re: Techempower Web Framework Benchmarks Round 10
#23Okay, Nim is really fast in these benchmarks on ec2 servers, impressive. Does anyone has experience with nim web stack? Is it ready for prime time? How much effort is required to create a simple CRUD json api? On a sidenote I am really looking forward to comparing rust and elixir results in the next round of benchmarks.
Rust and Elixir SHOULD be included in Round 11 - we have already accepted a pull request for the Phoenix framework (Elixir) and have had a pull request for Rust when it was in alpha. Hopefully, we will see another Rust pull request soon.
Re: Techempower Web Framework Benchmarks Round 10
#24Re: Techempower Web Framework Benchmarks Round 10
#25Earlier quoted context omitted.
Sorry, the links to logs were going to logs from a preview run. I've just changed the links to direct to the final logs. In the final run, play2-scala did not respond: https://github.com/TechEmpower/TFB-Round-10/blob/master/peak...
Generally that error happens when Play tries to bind to a port that's already in use. Looking at the start scripts for the Scala projects, the RUNNING_PID file is just being removed if it exists but your script should probably kill that PID if the file exists before deleting the file. https://github.com/TechEmpower/FrameworkBenchmarks/blob/mast...
It has the downside that if a process forks other processes and drops them into another different user (recently addressed for hhvm, for example), we cannot capture that. However, we have made great strides in trying to avoid that. Additionally, the logging for the application WOULD suggest if a port were bound prior to start-up, and that does not seem to be the case in this example.
Re: Techempower Web Framework Benchmarks Round 10
#26I'd like to see some ASP.NET running on Owin. Perhaps I'll find the time to add it myself before round 11.
Re: Techempower Web Framework Benchmarks Round 10
#27Earlier quoted context omitted.
Generally that error happens when Play tries to bind to a port that's already in use. Looking at the start scripts for the Scala projects, the RUNNING_PID file is just being removed if it exists but your script should probably kill that PID if the file exists before deleting the file. https://github.com/TechEmpower/FrameworkBenchmarks/blob/mast...
Our suite takes a nuke-from-orbit approach when it comes to killing processes, as this has come up in every round. The idea is that now all tests are run with a specific user, and instead of relying on the test to shut down properly (which MANY could not reliably do), we simply nuke all processes owned by this runner. It has the downside that if a process forks other processes and drops them into another different us…
The other primary cause of that "oops" message is when evolutions can't be applied but that also doesn't appear to be the case.
Re: Techempower Web Framework Benchmarks Round 10
#28I'd like to see some ASP.NET running on Owin. Perhaps I'll find the time to add it myself before round 11.
I am not familiar with Owin; how does it differ from Mono?
Mono is an implementation of the .NET runtime and framework.
Re: Techempower Web Framework Benchmarks Round 10
#29Okay, Nim is really fast in these benchmarks on ec2 servers, impressive. Does anyone has experience with nim web stack? Is it ready for prime time? How much effort is required to create a simple CRUD json api? On a sidenote I am really looking forward to comparing rust and elixir results in the next round of benchmarks.
I recommend you to read the nim code used for the benchmark [1] [2] [3] [4], and if you like what you see, to start with the Nim tutorial [5].
[0]: https://github.com/transfuturist/outlet
[1]: https://github.com/TechEmpower/FrameworkBenchmarks/blob/mast... [2]: https://github.com/TechEmpower/FrameworkBenchmarks/blob/mast... [3]: https://github.com/TechEmpower/FrameworkBenchmarks/blob/mast... [4]: https://github.com/TechEmpower/FrameworkBenchmarks/blob/mast...
Re: Techempower Web Framework Benchmarks Round 10
#30Earlier quoted context omitted.
That is quite surprising. Anyone have an idea why that is?
Actually, not really. We checked the code to ensure that there was no gaming the system and it definitely APPEARS to be making separate database queries as we require in our rules. In fact, we had this same question in round 9 and had a number of people audit it. We cannot explain it other than it might be pretty darn fast.
This is where a difference between Redis and other databases will exist depending on configuration.