Remember that Go vs D MQTT thing and how we wondered about dmd vs gdc?

Sean Kelly sean at invisibleduck.org
Fri Mar 7 14:29:48 PST 2014


On Friday, 7 March 2014 at 18:58:18 UTC, Russel Winder wrote:
> On Fri, 2014-03-07 at 16:53 +0000, Sean Kelly wrote:
> […]
>> 68K connections is nothing. I'll start getting interested when 
>> his benchmarks are 200K+.  Event-based systems in C can handle 
>> millions of concurrent connections if implemented properly.  
>> I'd like to believe vibe.d can approach this as well.
>
> There used to be a 100k problem, i.e maintaining more than 100k 
> active,
> that means regularly causing traffic, not just being dormant 
> for a few
> centuries, but so many frameworks can now support that , that 
> it has
> become a non-metric. I don't know if Spring, JavaEE, can handle 
> this but
> on the JVM Vert.x certainly, I suspect Node.js can as well. 
> Vert.x is
> caliming to be able to handle millions of active connections.
>
> I suspect it is now at the stage that the OS is the bottle neck 
> not the
> language of the framework.

I think the biggest issue at very large number of connections is 
memory use. In fact, I don't expect even vibe.d to scale beyond a 
few hundred K if it allocates a fiber per connection. It would 
have to use a free list of fibers and make a top-level read 
effectively release the current fiber into the free list.  
Scaling at this level in C generally meant retaining little to no 
state per connection basically by necessity.


More information about the Digitalmars-d mailing list