Re: single threaded web servers

guy keren <[email protected]>
Newsgroups gmane.linux.region.israel
Message-ID <[email protected]>
https://en.wikipedia.org/wiki/Thttpd

and

https://www.lighttpd.net/

both existed before anyone used javascript on server side, as far as i know

(and they are written in C, not C++)

--guy

On 07/02/2016 10:49 AM, Erez D wrote:
> doing some research on servers i found out that i can handle more
> connections simultaneously as single threaded.
> on thread per connection i have a huge overhead, just think of the
> default 2MB stack per connection - 1000 connections is 2GB ram just for
> stack.
> however as single threaded, i can server connections by the 10,000s(or
> even a million).
>
> later to my surprise, i found out that that was exactly one of the main
> considerations behind node.js
>
> but node.js requires code in js. and i am more of a c++ guy
> (and of course c++ is more efficient than js)
>
> C++ did a long way and now modern c++ (i.e. c++11 / c++14 ) is on par
> with other modern languages.
> the idea behind c++11/14 was to make it simple for beginners, while
> still keeping the option to control every bit for advanced users.
> one thing i hear people hate about c and c++ is its memory handling
> (malloc/free or new/delete), however in forgot about it years ago using
> shared_ptr ( now in c++11 and before that, use boost instead).. you can
> still control when it is freed if you want (in countrary to
> garbage-disposal-thread languages). as a matter of fact, i use this a
> lot - i create an object that cleans up,. and no matter how i exit the
> function it gets cleaned up.
>
> so i wanted a node.c++ instead of writing my own
>
> in theory simple single threaded web server usage code could look
> something like:
>
> int main()
> {
>    auto server=HttpServer::create(80,[](Request &request)
>      {
>        if (request.header=="HelloWorld")
>        {
>           HttpResponse(200,"<H1>Hello, world</h1>");
>        } else {
>          File::Read(request,header,[](bool success, string body)
>            {
>               if (success)
>                 HttpResponse(400,body);
>            } else {
>                 HttpResponse(404);
>            }
>          );
>        }
>      }
>    );
> }
>
>
>
>
> On Fri, Jul 1, 2016 at 4:58 AM, Amos Shapira <[email protected]
> <mailto:[email protected]>> wrote:
>
>     I'm curious - what's the background of this question? What's the
>     original goal that led you to ask this?
>
>     On 28 June 2016 at 18:04, Erez D <[email protected]
>     <mailto:[email protected]>> wrote:
>
>         i tried searching the web but got no result
>
>         what web servers other than node.js are single threaded ?
>         anyone has experience with one ?
>         is there one in which the cgi is in c++ ?
>
>
>
>
>         _______________________________________________
>         Linux-il mailing list
>         [email protected] <mailto:[email protected]>
>         http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>
>
>
>
>     --
>     <http://au.linkedin.com/in/gliderflyer>
>
>
>
>
> _______________________________________________
> Linux-il mailing list
> [email protected]
> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>


_______________________________________________
Linux-il mailing list
[email protected]
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.