[Python] 10 myths

enrico franchi enrico.franchi a gmail.com
Mer 25 Mar 2015 18:58:05 CET


2015-03-25 11:17 GMT+00:00 Carlos Catucci <carlos.catucci a gmail.com>:

E questo, se ho ben capito, con python si fa con molta fatica.
>

"Molta"... e' relativo. Diciamo che in generale scrivere sistemi I/O bound
ad alte performance in Python rimane abbastanza facile.
In generale sai anche di partenza che il tuo servizio dovra' scalare, e
semplicemente non fai cose blatantemente cretine (tipo basarti su thread
1:1).

I problemi che io trovo sono quando hai sistemi misti, con parti I/O bound
notevoli ma anche componenti CPU bound. E l'unica cosa che puoi fare e'
spezzare a livello architetturale il servizio. E tipicamente devi farlo fin
da subito. E tipicamente questo vuole dire aumentare ancora il costo
dell'I/O oppure fare magheggi con processi e memoria condivisa, gia' che ci
sei zero-copy (che e' roba abbastanza facile da cazzare)

Speranze che il 3 possa risolvere questo problema?
>

Avrebbe dovuto essere AsyncIO


> Altra domanda, so che Django, ad esempio, e' usato in siti ad altissimo
> carico. Come fa a risolvere con un numero threads molto elevato ?
>

A livello architetturale.



-- 
.
..: -enrico-
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150325/e31916a2/attachment.html>


Maggiori informazioni sulla lista Python