Re: [Python] Che ne pensate?

2017-04-20 Per discussione Davide Olianas

Il 19/04/2017 23:30, Jacopo Cascioli ha scritto:
I benchmark vanno presi con le pinze anche per questo: a volte la 
velocità in più ottenuta è dovuta ad ottimizzazioni che non hanno 
niente a che fare con l'asincronicità.





Ogni volta che leggo un benchmark, il programma in questione è sempre er 
mejo di tutto il resto del mondo. Che caso

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Che ne pensate?

2017-04-19 Per discussione Jacopo Cascioli
Sembra interessante, ma è da un po' che ci sono framework Python in grado
di superare le performance di Node, anche senza sfruttare roba asincrona.
Il vero confronto che oggi conta per Python in questi termini è quello con
go, ed è esattamente dove uvloop va a parare.
Inoltre, in generale, se si pensa a come funziona Node, credo che chiunque
con un po' di conoscenza informatica sarebbe arrivato a capire che era solo
questione di avere il framework giusto, piuttosto che di linguaggio.

Personalmente, io vedo l'asincronicità come un'ottimizzazione, perciò ha
senso solo e solo se il limite è effettivamente dato dall'I/O, perchè molte
volte il problema non è quello. I benchmark vanno presi con le pinze anche
per questo: a volte la velocità in più ottenuta è dovuta ad ottimizzazioni
che non hanno niente a che fare con l'asincronicità.

In questo hanno usato pypy per falcon, ma non cython, per il quale falcon
ha un supporto migliore. Hanno usato gunicorn e non uwsgi, che in genere dà
risultati migliori e ed è quello che verebbe usato: questo va ancora a
vantaggio di sanic, visto che non ha bisogno di nessuno dei due. Sanic usa
websockets, falcon no, flask neppure e il problema di websockets è che non
ci fai API RESTful, perchè funziona in maniera completamente diversa.
Ancora: sanic usa ujson, ma falcon no e il benchmark riguarda proprio JSON!
Quindi, non è chiaro a cosa sia dovuta la performance di sanic, ma io
conosco molto bene falcon, e sono sicuro che fare lo stesso test, lanciando
falcon con uwsgi + ujson, darebbe altri risultati, fermo restando che
confrontare un framework websockets con uno che usa http è ridicolo.

Il fatto che ci sia un framework che la fornisce già pronta è positivo,
così il modo in cui la comunità sta digerendo e processando l'async in
Python. Il fatto che la questione sincrono/asincrono venga portata avanti a
benchmark fatti male invece è un cancro che va estirpato.

Jacopo



2017-04-19 21:26 GMT+02:00 Carlos Catucci :

> Sorry, node.js, Python is faster!
>
> For a very long time now, node.js has evolved nicely. This was
> because, right from beginning, it was designed to run smoothly, non
> blocking, async mode.
>
> Green threads - instead of pthreads with giant overhead - were the
> right way for low latency applications.
>
> But now there is libuv module for Python 3. Means: Python still runs
> single thread with GIL, but libuv C module runs in a multi-threaded,
> interleaved way to serve tens of thousands of TCP/UDP clients
> smoothly.
>
> https://github.com/channelcat/sanic/blob/master/README.rst
>
>
> Carlos
> --
> EZLN ... Para Todos Todo ... Nada para nosotros
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Che ne pensate?

2017-04-19 Per discussione Carlos Catucci
Sorry, node.js, Python is faster!

For a very long time now, node.js has evolved nicely. This was
because, right from beginning, it was designed to run smoothly, non
blocking, async mode.

Green threads - instead of pthreads with giant overhead - were the
right way for low latency applications.

But now there is libuv module for Python 3. Means: Python still runs
single thread with GIL, but libuv C module runs in a multi-threaded,
interleaved way to serve tens of thousands of TCP/UDP clients
smoothly.

https://github.com/channelcat/sanic/blob/master/README.rst


Carlos
-- 
EZLN ... Para Todos Todo ... Nada para nosotros
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Che ne pensate?

2015-09-01 Per discussione Carlos Catucci
http://www.quora.com/Is-Ruby-dying

Carlos
-- 
EZLN ... Para Todos Todo ... Nada para nosotros
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Che ne pensate?

2015-09-01 Per discussione enrico franchi
On Tue, Sep 1, 2015 at 11:45 AM, Carlos Catucci 
wrote:

> http://www.quora.com/Is-Ruby-dying
>

Che ovviamente non sta morendo...


-- 
.
..: -enrico-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Che ne pensate?

2015-02-28 Per discussione enrico franchi
2015-02-11 14:30 GMT+00:00 Fabrizio Soppelsa fsoppelsa...@yandex.com:

 On 02/11/2015 01:58 PM, Carlos Catucci wrote:

 http://www.impredicative.com/ur/

 Pareri graditi


 Tecnologicamente non saprei, mai usato. Come analisi sociologica mi viene
 da dire: tenendo conto che solo cambiare il paradigma da sync ad async
 nelle ultime tendenze del web (backend) è risultato così ostico per la
 maggior parte dei programmatori, non vedo il motivo per cui i suddetti
 dovrebbero addirittura stravolgere tutto passando alla programmazione
 funzionale.


In primo luogo questo passare alla programmazione funzionale non lo
metterei nel futuro ma lo descriverei come un fatto avvenuto. Negli ultimi
10-15 anni la programmazione funzionale ha avuto sempre piu' trazione e
interesse nell'industria. Penso che se uno non se ne vuole convincere,
basti guardare le aggiunte ad uno dei linguaggi piu' corporate la fuori.
Java 8 e' praticamente *tutto* basato sull'idea di introdurre concetti
funzionali nella piattaforma, esattamente come fra gli anni 80 e gli anni
90 si sono tentati vari approcci per introdurre la programmazione ad
oggetti dentro ambienti gia' consolidati.

Poi certo, fra un linguaggio ad funzionale vero e Java ci passa comunque
tantissimo. Esattamente come le prime versioni di C++ non e' che avessero
recepito particolarmente bene il paradigma ad oggetti (si potrebbe anche di
peggio, ma vabbe').

Dopo di che con un po' di cinismo... per passare dallo scrivere codice ad
oggetti che fa pena e codice funzionale che fa pena basta un corso di
formazione da qualche ora. Quindi insomma... la maggior parte dei
programmatori non credo che avranno grossi problemi.

-- 
.
..: -enrico-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Che ne pensate?

2015-02-28 Per discussione enrico franchi
2015-02-11 10:58 GMT+00:00 Carlos Catucci carlos.catu...@gmail.com:

 http://www.impredicative.com/ur/

 Pareri graditi


Complicato Carlos... non ci ho mai lavorato. Potrei guardarmi il tutorial e
poi dare un parere... ma il punto fondamentale per me e' che quello e' un
giocattolo accademico, per ora.

Spiego meglio... allora, guardo i *due* capitoli sul linguaggio. A prima
botta sembra un affare parecchio ispirato da ML e Haskell, come l'autore
promette. Credo che visto senza ulteriori nozioni lo avrei preso per un
qualche dialetto ML.

Poi leggo:


Then there's parametric polymorphism. Unlike in ML and Haskell, polymorphic
functions in Ur/Web often require full type annotations. That is because
more advanced features (which we'll get to in the next chapter) make Ur
type inference undecidable.


Uhm... aspetta. Una delle cose per cui ML e Haskell mi piacciono e' che
sebbene siano tipizzati staticamente in generale il compilatore capisce
abbastanza bene quello di cui si parla e i tipi non mi vengono fra le palle
ma mi sono di aiuto. Sembra che questa caratteristica carina di ML sia
stata soppiantata in favore di qualcos'altro... che devo capire cosa sia.

Piu' sotto cerco di capire che cosa cavolo fa di nuovo. Apparentemente
sembra volere introdurre qualcosa che mi ricorda il MOP, ma in salsa ML.
Poi fa vedere cose che ha preso da ML e da Haskell, ma sinceramente non ci
ho capito molto. Soprattutto non mi e' chiaro quale sia il punto di forza.

Poi magari e' veramente fichissimo... per ora entra nella categoria:
documentazione povera.

Poi leggo:


The Ur/Web compiler also produces very efficient object code that does not
use garbage collection. These compiled programs will often be even more
efficient than what most programmers would bother to write in C. For
example, the standalone web server generated for the demo uses less RAM
than the bash shell. The compiler also generates JavaScript versions of
client-side code, with no need to write those parts of applications in a
different language.


Ma siamo sicuri di vivere nello stesso pianeta? Cioe', ok, non usi garbage
collection. Cosa che per quanto mi riguarda non e' esattamente un vantaggio
ne uno svantaggio. Cioe', se riesce a staticamente risolvere allocazioni e
deallocazioni, sicuramente meglio. Ma non e' che il mio problema la fuori
sia avere o non avere garbage collection. Cioe', a volte voglio non
averla... ma se sto scrivendo un applicazione web i miei problemi sono
altri.

Anche il fatto che parli di efficienza del codice mi fa pensare che non
gli sia in eccesso chiaro il punto. Quando ho problemi di performance su
un'applicazione web di solito i colpevoli sono il database, dipendenze da
servizi lenti e/o con API demenziali e cose stupide fatte nel codice. Il
fatto di avere un server web pre-compilato mi interessa il giusto (anzi,
sinceramente faccio a meno grazie... preferisco scegliermelo io secondo le
esigenze). Ma diciamo cosi', in generale il mio problema e' scalare
orizzontalmente; scalare verticalmente mi interessa raramente.

Il fatto poi che il server prenda 4 MB o 8 MB... come dire. Bravo. Pero' la
macchina piu' piccola su cui metto le mani ha tipo 12 GB di RAM. Il mio
problema e' quanta RAM succhia l'applicazione... il webserver di per se e'
poco influente. Sempre a sboccio... l'ultima volta che ho misurato Apache i
workers stavano sui 4/5 MB l'uno e ne avevo in giro un po'. E i problemi di
memoria che avevo erano altri. Tipo Redis che ogni tanto ipertrofizzava
grazie a celery (grazie! il default dei risultati indelebili e' li apposta
per quelli che dovevano deployare l'altro ieri e non hanno avuto il tempo
di leggersi tutto il maledetto manuale). Oh, ma meglio ancora i worker
django che ingrassavano perche' dovevano macinare molti dati... che
ovviamente si risolve offloadando a celery. Qualche mese fa ho
personalmente terminato con un worker che era ingrassato verso i 3 GB. Mi
e' quasi spiaciuto.

-- 
.
..: -enrico-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Che ne pensate?

2015-02-11 Per discussione Carlos Catucci
2015-02-11 18:25 GMT+01:00 Nadir Sampaoli nadirsampa...@gmail.com:

 Che poi, non ditemi che non avete mai usato le list-/dict-comprehensions:
 quelle sono prese dritte dritte da ha haskell


Sono stati uno dei motivi per cui mi sono innamorato di Python. Vanno usate
cuim grano salis, ma sono una favola.

Carlos
-- 
EZLN ... Para Todos Todo ... Nada para nosotros
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Che ne pensate?

2015-02-11 Per discussione Fabrizio Soppelsa

On 02/11/2015 01:58 PM, Carlos Catucci wrote:

http://www.impredicative.com/ur/

Pareri graditi


Tecnologicamente non saprei, mai usato. Come analisi sociologica mi 
viene da dire: tenendo conto che solo cambiare il paradigma da sync ad 
async nelle ultime tendenze del web (backend) è risultato così ostico 
per la maggior parte dei programmatori, non vedo il motivo per cui i 
suddetti dovrebbero addirittura stravolgere tutto passando alla 
programmazione funzionale.


Fabrizio.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Che ne pensate?

2015-02-11 Per discussione Carlos Catucci
http://www.impredicative.com/ur/

Pareri graditi

Carlos
-- 
EZLN ... Para Todos Todo ... Nada para nosotros
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] che ne pensate di pyjs?

2013-08-05 Per discussione Carlos Catucci
2013/8/5 Federico Fissore feder...@fsfe.org

 in azienda ci stiamo preparando a fare un prodotto web. Vista la mia
 passata esperienza con nodejs, ho giocato la carta dello stesso codice
 lato client e lato server
 Un collega, per amore di brainstorming, ha proposto http://pyjs.org/

 Qualcuno l'ha utilizzato o valutato? Cosa ne pensate?


Non lo conosco ma c'e anche brython

Carlos
-- 
Siamo coloro che impastano, eppure non abbiamo pane,
siamo coloro che scavano il carbone, eppure abbiamo freddo
Siamo coloro che non hanno nulla, e stiamo venendo a prendere il mondo.
Tassos Livaditis (Poeta greco, 1922, 1988)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] che ne pensate di pyjs?

2013-08-05 Per discussione Balan Victor
Il giorno 05 agosto 2013 22:58, Carlos Catucci
carlos.catu...@gmail.comha scritto:


 2013/8/5 Federico Fissore feder...@fsfe.org

 in azienda ci stiamo preparando a fare un prodotto web. Vista la mia
 passata esperienza con nodejs, ho giocato la carta dello stesso codice
 lato client e lato server
 Un collega, per amore di brainstorming, ha proposto http://pyjs.org/

 Qualcuno l'ha utilizzato o valutato? Cosa ne pensate?


 Non lo conosco ma c'e anche brython

 Carlos
 --
 Siamo coloro che impastano, eppure non abbiamo pane,
 siamo coloro che scavano il carbone, eppure abbiamo freddo
 Siamo coloro che non hanno nulla, e stiamo venendo a prendere il mondo.
 Tassos Livaditis (Poeta greco, 1922, 1988)

 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python


pyjs browser detection Safari detected. This is the Safari version of the
application.(aperto con chrome)
pyjs browser detection Old Mozilla detected. This is the Old Mozilla
version of the application.(aperto con ie10)

sembra promettente XD
a parte la stupida qua sopra .. ho provato quasi tutte le demo e ho notato
una certa lentezza a caricare il tutto ... inoltre alcune non funzionavano
e presentavano errori
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] che ne pensate di pyjs?

2013-08-05 Per discussione Carlos Catucci
2013/8/6 Balan Victor balan.vict...@gmail.com

 sembra promettente XD
 a parte la stupida qua sopra .. ho provato quasi tutte le demo e ho notato
 una certa lentezza a caricare il tutto ... inoltre alcune non funzionavano
 e presentavano errori


parli di pyjs o di brython?

Carlos
-- 
Siamo coloro che impastano, eppure non abbiamo pane,
siamo coloro che scavano il carbone, eppure abbiamo freddo
Siamo coloro che non hanno nulla, e stiamo venendo a prendere il mondo.
Tassos Livaditis (Poeta greco, 1922, 1988)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] che ne pensate di pyjs?

2013-08-05 Per discussione Balan Victor
Il giorno 06 agosto 2013 01:28, Carlos Catucci
carlos.catu...@gmail.comha scritto:


 2013/8/6 Balan Victor balan.vict...@gmail.com

 sembra promettente XD
 a parte la stupida qua sopra .. ho provato quasi tutte le demo e ho
 notato una certa lentezza a caricare il tutto ... inoltre alcune non
 funzionavano e presentavano errori


 parli di pyjs o di brython?


 Carlos
 --
 Siamo coloro che impastano, eppure non abbiamo pane,
 siamo coloro che scavano il carbone, eppure abbiamo freddo
 Siamo coloro che non hanno nulla, e stiamo venendo a prendere il mondo.
 Tassos Livaditis (Poeta greco, 1922, 1988)

 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python


pyjs
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python