Re:Web Framework Benchmarks
by Spartan-S63 on Thursday June 07, 2018 @09:09AM
(#17255402)
For Rust, I'm interested to see what the future holds once the community coalesces around an async IO interface. Additionally, when procedural macros stabilizes (for real), the possibilities for ergonomic frameworks in Rust become endless.
Rocket has been really interesting to work with, but it only works on nightly since it relies on experimental codegen/procedural macro features. Once procedural macros stabilizes, all the codegen can be ported to that. It doesn't support async IO yet, but that's because it's waiting for the community to coalesce before diving into it.
I think there's a future where Rust web frameworks are as expressive as Rails or Laravel but bring type safety and sound, zero cost abstractions to the table.
Lots of folks seem to be getting drawn to actix-web, which features quite a bit up the top of these benchmarks. I've not used it, but it works on stable, is fully async, and has been met with many good reviews!
Which according to their main developer is used in production at Microsoft.
> I think there's a future where Rust web frameworks are as expressive as Rails or Laravel but bring type safety and sound, zero cost abstractions to the table.
I'm really looking forward to this. The only thing I worry about is compile times. I hope they don't end up ruining an otherwise perfect solution!
Re:Web Framework Benchmarks
by steveklabnik on Thursday June 07, 2018 @09:18AM
(#17255477)
Speaking of which, a few hours ago Futures were added to the standard library, so the next nightly will have them in. We're quite close to that standardization!
Re:Web Framework Benchmarks
by bluejekyll on Thursday June 07, 2018 @10:51AM
(#17256227)
Just adding for clarity: this isn't async io, but the foundation trait for building promise/future combinators in Rust. Tokio, an async io library, is built around this trait.
Re:Web Framework Benchmarks
by steveklabnik on Thursday June 07, 2018 @04:00PM
(#17259651)
Yes. It's the Future and executor stuff, but doesn't provide an executor. You'd do that via Tokio or whatever else.
Re:Web Framework Benchmarks
by oconnor663 on Thursday June 07, 2018 @10:34AM
(#17256069)
Big news!
Plus one for c#, with compiler optimisations I was able to generate millions of sha256s a second, many more than my c++ version of the same code. Then I discovered CUDA, then I got bored and went onto something else.
Rust, C#, and Go also seem to fit the bill, according to these benchmarks. C# particularly has rocketed up since the last time I looked in depth at these. Pretty impressive work from the .NET Core folks, I'd say.