5 ms·
I had not checked these for a good long while. (Probably around round 10 or 11.) Looking back in on it now, holy MAN! C (C++) and Java. Wow. Even though I'm o
by bilbo0s 8y ago
I had not checked these for a good long while. (Probably around round 10 or 11.) Looking back in on it now, holy MAN!
C (C++) and Java. Wow.
Even though I'm old, I'd sort of forgotten how speedy they can be. It's strange, because I actually work with Java and C in making streaming game engines. And you kind of get used to thinking in terms of millions on a set of hardware. So you think Java and C are slow. Then you realize if you were using Python or Node or anything other than C or Java really, you'd likely still be working out how to support tens of thousands on that same set of hardware. (If that.)
We can get so used to what we have. Maybe that's just a human thing.
- christophilus 8y ago> Anything other than C or Java really 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.
- sbhn 8y agoPlus 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.
- Spartan-S63 8y agoFor 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.
- steveklabnik 8y agoSpeaking 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!
- oconnor663 8y agoBig news!
- bluejekyll 8y agoJust 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.
- steveklabnik 8y agoYes. It's the Future and executor stuff, but doesn't provide an executor. You'd do that via Tokio or whatever else.
- nicoburns 8y ago> 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!
- bjz_ 8y agoLots 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!
- pjmlp 8y agoWhich according to their main developer is used in production at Microsoft.
- deleted 8y ago[deleted]
- akmittal 8y agoI'm not sure how many companies use C, C++ for Web development. In my opinion C/C++ wont be good idea to use for most. It is about choosing the best ration b/w tool speed and developer speed(productivity). There are very few companies which requires million per second request. For me Java, C#, Go, Node provide the best compromise b/w speed and productivity.
- tigershark 8y agoVertx in Java is basically the fastest across all the benchmarks, putting it in the same speed/productivity bucket as node doesn’t make much sense...
- akmittal 8y agoI was talking about the compromise, if node is slower it provides better productivity.
- basejumping 8y agoWhy would a experienced java dev be less productive than a node js one?
- tracker1 8y agoTooling, typing, boilerplate and contrasting to the library that is npm.
- pmlopes 8y agoVertx is polyglot, you can use js and npm if you like, so in this respect vertx can be more productive as it allows you too use the tool that works best for your problem, be it npm, maven, gradle or language: java, javascript, kotlin, etc...
- pjmlp 8y agoMost companies that sell embedded hardware managed remotely by Web interfaces.
- pjmlp 8y agoSomething that I learned after being part of a startup back when doing web servers in Tcl was cool (AOLServer and such), and Zope was hip, was that I never wanted to work again in software stacks that lacked a JIT or AOT compiler for production code.
- saosebastiao 8y agoI find it very frustrating that Scala, a language that is entirely capable of running just as fast as Java, is full of frameworks that are relatively slow compared to the java frameworks. It has to be some sort of fixation on reinventing everything from scratch in order to fit into some idealized idiomatic scala way (ignoring the fact that there are a million different versions of "idiomatic" in the scala community). Even the Play Framework, which used to be based on Netty and was pretty damn fast, ended up spending entire release cycles focused on migrating to an akka-based backend and they ended up with shittier performance and now they have to maintain two backends because nobody wants anything to do with their new akka backend. Sometimes mutability and imperative code are okay, even in scala.
- KajMagnus 8y agoDo you have in mind these benchmarks?: play2-scala-slick-ne 60,588 14.3% play2-scala-slick 60,400 14.2% ("-ne" = netty, the other is Akka) There's not that much difference? Or did the Netty version, get slower, because of refactorings done to support Akka? Anyway I too feel frustrated that the Scala / Play Framework developers don't seem to focus so much on performance, but rather (it seems to me) on writing theoretically beautiful Scala code? I'd rather have something fast & simple like Vert.x, in Scala Well, there's Vert.x + Scala, "only" 70 stars: https://github.com/vert-x3/vertx-lang-scala https://github.com/vert-x3/vertx-lang-scala thugh. I wonder how Vert.x + Scala compares with Vert.x + Java, would have been really interesting to include in the benchmarks :- ) I suggested incl Vert.x & Scala in the benchmarks: https://groups.google.com/forum/?fromgroups=#!topic/framework-benchmarks/6JwoofFRrOU https://groups.google.com/forum/?fromgroups=#!topic/framewor...