Re: single threaded web servers
guy keren <[email protected]>
| Newsgroups | gmane.linux.region.israel |
|---|---|
| Message-ID | <[email protected]> |
you didn't say you needed dynamic content - your example "code" seemed to focus on serving static content. try to be more specific about what you need --guy On 07/02/2016 06:41 PM, Erez D wrote: > > > On Sat, Jul 2, 2016 at 2:00 PM, guy keren <[email protected] > <mailto:[email protected]>> wrote: > > > https://en.wikipedia.org/wiki/Thttpd > > dont know if it fits my requierments but last version dated 2014 > > > > and > > https://www.lighttpd.net/ > > uses fastcgi. fastcgi is multithreaded. > > > > 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]> > <mailto:[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]> > <mailto:[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]> > <mailto:[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] <mailto:[email protected]> > http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il > > > > _______________________________________________ > Linux-il mailing list > [email protected] <mailto:[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