nanoant / WebFrameworkBenchmark

Benchmarking some web frameworks
55 stars 25 forks source link

Vibe.d 0.7.26 Issues #7

Open codewisdom opened 8 years ago

codewisdom commented 8 years ago

There appear to be issues in the version of vibe.d tested recently.

See the following: http://forum.dlang.org/post/cqgrkczbuidbvkywqxvb@forum.dlang.org

ohenepee commented 8 years ago

Vibe.d has always had issues... I ignored it long ago and turned to Go fasthttp

There's not a single public benchmark out there that Vibe.d outperforms Python or even NodeJS, yet D is a very powerful language.

What's the use of having a web framework that can't outperform competition out-of-the-box?

codewisdom commented 8 years ago

I stay out of platform wars as much as a I can. There is room for really good stuff in all these languages and platforms. However, that being said, the facts seem to speak for themselves with respect to vibe.d. I am gravitating to D these days. I tend to like it more than the other options.

chmike commented 8 years ago

Here is a public benchmark that puts vibe.d on par with UnderTow and Go. The result with Kore.io is obviously bogus and probably performed with HTTPS witch is enabled by default.

http://forum.dlang.org/post/zuvwojstoepatsqczctb@forum.dlang.org

The compilation parameters used for this test had the consequence to use the ldc compiler instead of the dmd compiler. ldc uses LLVM and produces better optimized code. The combined option I suppose combines the source code instead of compiling each module individually so that the compiler can generate even better optimized code. The release option disables contract programming, assert checking. It disable boundary checking on array access for @system and @trusted functions. The nobound option disables boundary checking for @safe functions.

The Vibe.d framework has equivalent performances as the top performance web servers if you decide to run it without seat belt and air bag. The measurement advertised on the ReadMe of this project needs to be updated. Using dmd with the latest version would be a minimum to be honest and fair.