nodejs vs gevent+monkey_patching allows you to USE "EV" (please bear with 
me, from now on "EV" means just a programming pattern - google for that): 
apis, websockets, streaming, etc. usually are the best fit for that. 
Everything that needs either: 
- a lot of concurrent connections
- a lot of opened connections streaming data
usually works better with "EV". 

That being said, my point was barely that having your traditional app 
running on gevent might not be as fast as a traditional nodejs app......and 
that's just because "traditional" in python doesn't - normally - mean EV 
patterns, while node (javascript, to be fair) "forces" you to use that kind 
of patterns (and so ALL libraries, modules, etc are optimized/engineered to 
exploit all the possibilities of EV).

Running python code engineered to be EV in the first place coupled with 
gevent might be as fast as a nodejs app, but really, my point is *not* a 
matter on what framework gives you the most speed (I'd bet an Erlang app 
trumps nodejs).

It's just stating that evented webservers in python are a nice thing to 
have because without changing a single line of your "normal" code many 
things are improved in speed terms (running on pypy, e.g. it's another 
simple step to look to), but if you want to match performances of other 
tools "more targeted to that job", your app code needs to change a lot too. 


On Friday, January 4, 2013 7:37:26 PM UTC+1, Vasile Ermicioi wrote:
>
> thank you for your thoughts,
>
> may be there are scenarios where evented frameworks shine, but nodejs is a 
> web framework, 
> so in this scenario the main advantage is that requests don't block each 
> other, 
> so my question is regarding only this scenario: 
> what advantage of using nodejs over gevent monkey patching for building 
> websites?
> any examples?
>
> On Fri, Jan 4, 2013 at 7:01 PM, Niphlod <nip...@gmail.com <javascript:>>wrote:
>
>> because for really exploiting evented frameworks you need to code 
>> "evented-ly" also your app.
>>
>> Programming languages (also big frameworks like e.g. twisted) that "by 
>> default" have strong support for actors, events, light threads, and so on 
>> (and also for that reason, generally harder to grasp-create-maintain-adopt) 
>> are a level up if confronted with "python+gevent monkeypatching", because 
>> all code in apps and modules and libraries is tailored to that kind of 
>> programming style (and requirements).
>>
>> Having wsgi frameworks that run "in the evented way" is the first step - 
>> really nice one, but still one - down to the rabbit hole.....they solve the 
>> issue and the shortcomings of "communicating with the outside", but your 
>> code needs to be refactored if you want to step up a level. 
>>
>>
>> Il giorno venerdì 4 gennaio 2013 17:38:55 UTC+1, Vasile Ermicioi ha 
>> scritto:
>>
>>> a while ago I saw vert.x  (it is on top of jvm) , now that,
>>> and a question raised in my mind:
>>> why do I need nodejs or evented frameworks, if importing gevent and 
>>> monkey patching makes everything non blocking?
>>>
>>> celery and other goods are already in web2py frameworks, 
>>> so what are your thoughts?
>>>
>>>
>>  -- 
>>  
>>  
>>  
>>
>
>

-- 



Reply via email to