Simple web server benchmark - vibe.d is slower than node.js and Go?
Daniel Kozak
kozzi11 at gmail.com
Mon Oct 30 17:23:02 UTC 2017
Maybe this one:
import vibe.d;
import std.regex;
import std.array : appender;
static reg = ctRegex!"^/greeting/([a-z]+)$";
void main()
{
setupWorkerThreads(logicalProcessorCount);
runWorkerTaskDist(&runServer);
runApplication();
}
void runServer()
{
auto settings = new HTTPServerSettings;
settings.options |= HTTPServerOption.reusePort;
settings.port = 3000;
settings.serverString = null;
listenHTTP(settings, &handleRequest);
}
void handleRequest(HTTPServerRequest req,
HTTPServerResponse res)
{
switch(req.path)
{
case "/": res.writeBody("Hello World", "text/plain");
break;
default:
auto m = matchFirst(req.path, reg);
string message = "Hello, ";
auto app = appender(message);
app.reserve(32);
app ~= m[1];
res.writeBody(app.data, "text/plain");
}
}
On Mon, Oct 30, 2017 at 5:41 PM, ade90036 via Digitalmars-d <
digitalmars-d at puremagic.com> wrote:
> On Thursday, 21 September 2017 at 13:09:33 UTC, Daniel Kozak wrote:
>
>> wrong version, this is my letest version: https://paste.ofcode.org/qWsQi
>> kdhKiAywgBpKwANFR
>>
>> On Thu, Sep 21, 2017 at 3:01 PM, Daniel Kozak <kozzi11 at gmail.com> wrote:
>>
>> my version: https://paste.ofcode.org/RLX7GM6SHh3DjBBHd7wshj
>>>
>>> On Thu, Sep 21, 2017 at 2:50 PM, Sönke Ludwig via Digitalmars-d <
>>> digitalmars-d at puremagic.com> wrote:
>>>
>>> Am 21.09.2017 um 14:41 schrieb Vadim Lopatin:
>>>>
>>>> [...]
>>>>>
>>>> Oh, sorry, I forgot the reusePort option, so that multiple sockets can
>>>> listen on the same port:
>>>>
>>>> auto settings = new HTTPServerSettings("0.0.0.0:3000");
>>>> settings.options |= HTTPServerOption.reusePort;
>>>> listenHTTP(settings, &handleRequest);
>>>>
>>>
> Hi, would it be possible to re-share the example of vibe.d woth
> multithreaded support.
>
> The pastebin link has expired and the pull request doesnt have the latest
> version.
>
> Thanks
>
> Ade
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20171030/b5c4f058/attachment.html>
More information about the Digitalmars-d
mailing list