Introducing vibe.d!
Nick Sabalausky
SeeWebsiteToContactMe at semitwist.com
Fri Apr 27 02:06:26 PDT 2012
"Sönke Ludwig" <sludwig at outerproduct.org> wrote in message
news:jndl9l$26eh$1 at digitalmars.com...
>
> We still have a more comprehensive benchmark on the table but it seemed to
> get along happily with about 60MB of RAM usage during a C10k test. The
> average request time went down to about 6s if I remember correctly. The
> test was using a dual-core Atom server over a WiFI connection so the
> results may have been skewed a litte.
>
I guess I don't have much of a frame of reference, but that certainly sounds
very impressive. Especially the RAM usage (you could probably kill lighttpd,
from what I've heard about it) and also the fact that was all over WiFi.
Have you looked at long-term memory usage? I wonder if D's imprecise GC
could be a liability and would need to be ?
> In terms of HTTP/1.1 implementation it is most importantly lacking
> multipart form uploads (will be added shortly). Otherwise the protocol
> supports most HTTP features. I'll put a more detailed comparison on my
> TODO list.
>
Thanks, I'm anxious to take a look. I'm particulary curious how much of your
intended scope does/doesn't overlap with Nginx's domain and it's (rather
Apache-competetive) suite of modules: http://wiki.nginx.org/Modules
Do you see this as eventually (or even currently) competing with Nginx in
general? Or is it more focused on web framework and general async I/O?
(Actually that's another thing, how general is the async I/O in it? Is it
intended to be used for just...whatever general I/O uses...or is it more
intended as a means-to-an-end for web?)
The way it's designed, I suppose the features of many of Nginx's modules
could simply be implemented using vibed, for example directory listings.
I hope it doesn't sound like I'm trying to tear vibed apart. I'm genuinely
impressed with it so far. Just trying to get a good feel for it and how best
to use it effectively.
>>
>> - Why "static this"? Seems like a strange choice since it'll run before
>> the
>> main that (I assume) vibed automatically provides - and in an undefined
>> order relative to all other module ctors.
>>
>
> The order of module constructors should be defined to be a valid order
> wrt. the import tree right?
>
Oops, yea. Not sure what I was thinking.
> However, it is also possible to just implement a custom main() and start
> from there - you just have to include vibe.vibe instead of vibe.d so that
> the built-in main() is not compiled. I will put an example on the website
> later.
>
Cool.
More information about the Digitalmars-d-announce
mailing list