Re: [python-tulip] Process + Threads + asyncio... has sense?

2016-04-25 Thread Imran Geriskovan
On 4/25/16, cr0hn cr0hn  wrote:
> I uploaded as GIST my PoC code, if anyone would like to see the code or
> send any improvement:
> https://gist.github.com/cr0hn/e88dfb1fe8ed0fbddf49185f419db4d8
> Regards,

Thanks for the work.

>> 2) You cant use any blocking call anywhere in async server.
>> If you do, ALL your server is dead in the water till the return
>> of this blocking call. Do you think that my design is faulty?
>> Then look at the SSH/TLS implementation of asyncio itself.
>> During handshake, you are at the mercy of openssh library.
>> Thus, it is impossible to build medium to highload TLS server.
>> To do that safely and appropiately you need asyncio
>> implemenation of openssh!

It's openssl. Not ssh... Sorry..


Re: [python-tulip] Process + Threads + asyncio... has sense?

2016-04-25 Thread cr0hn cr0hn
Thanks for your responses.

I uploaded as GIST my PoC code, if anyone would like to see the code or 
send any improvement:

https://gist.github.com/cr0hn/e88dfb1fe8ed0fbddf49185f419db4d8 

Regards,

El miércoles, 20 de abril de 2016, 1:00:08 (UTC+2), Imran Geriskovan 
escribió:
>
> >1. With threads you need more locks, and the more locks you have: a) 
> the 
> > lower the performance, and b) the greater the risk of introducing 
> > deadlocks; 
> > So please keep in mind that things are not as black and white as "which 
> is 
> > faster".  There are other things to consider. 
>
> While handling mutually exclusive muItithreaded I/O, 
> you dont need any lock. Aside from generalist advices, 
> reasons for thinking to go back to threads are: 
>
> 1) Awaits are viral. Async programmining is kind of all_or_nothing. 
> You need all I/O libraries to be async. 
>
> 2) You cant use any blocking call anywhere in async server. 
> If you do, ALL your server is dead in the water till the return 
> of this blocking call. Do you think that my design is faulty? 
> Then look at the SSH/TLS implementation of asyncio itself. 
> During handshake, you are at the mercy of openssh library. 
> Thus, it is impossible to build medium to highload TLS server. 
> To do that safely and appropiately you need asyncio 
> implemenation of openssh! 
>
> 3) I appreciate the core idea of asyncio. However, it is not cheap. 
> It hardly justifies the whole new thing, while you can only 
> drop "await" s and run it as multithreaded and preserving compatibility 
> with all old libraries. If you did not bought the inverted 
> async patterns, even you still preserve your chances of migrating 
> to any other classical language. 
>
> 4) Major Down side of thread approach is memory consumption. 
> That is 8MB per thread on linux. Other than this OS threads are cheap 
> on linux. (Windows is another story.) If your use case can afford 
> it, why not use it. 
>
> Returning to the original subject of this message thread; 
> as cr...@cr0hn.com  proposed certain combinations of 
> processes, 
> threads and coroutines definetely make sense.. 
>
> Regards, 
> Quick Reply 
>