<div dir="ltr"><div dir="ltr">On Mon, Sep 14, 2020 at 7:39 AM Daniel Kozak <<a href="mailto:kozzi11@gmail.com">kozzi11@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">On Sun, Sep 13, 2020 at 11:20 PM ryuukk_ via Digitalmars-d <<a href="mailto:digitalmars-d@puremagic.com" target="_blank">digitalmars-d@puremagic.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
I think the plain text one is the most important one to fix <br>
first, such basic concept shouldn't be that slow<br></blockquote><div><br></div><div>As others already pointed out, it is not thats vibe-d perform bad. But the others use some not so nice tricks to be so fast.</div><div>This is why I say I can make vibe-d same fast as the others, but it would be cheating from my perspective.</div><div><br></div><div>They do not real http parsing, they generally just  match only the minimum what they needed.</div><div>They use static buffer with already prepared responses</div><div>They do not send all http headers</div><div>They use one char Server name http header.</div><div><br></div><div>So when I use vibe-d without the http package and just use TCPconnection and do the same as the others I would have the same speed, but this is not what you generally want.</div><div><br></div></div></div></blockquote><div><br></div><div>But to be fair, there are many places where vibe-d performance could be improved:</div><div>There is a big penalty when you use keep-alive smaller then Duration.max</div><div>vibe-d write headers independet from body content which is one of other big performance penalty</div><div>vibe-d do address translation with each request thats other performance hit</div><div> </div></div></div>