On Friday 11 February 2005 21:53, [EMAIL PROTECTED] wrote:
> >> am un server de chat scris in python. Daca-l rescriu in perl am sanse sa
> >> ocupe mai putine resurse ?
> >
> > Unde e bottleneck-ul acum? RAM, CPU, altceva?
>
> in python man. Python face ceea ce face procesorul dar la alt nivel: fetch
> si execute
Ce zici tu e un raspuns total aiurea la o intrebare care nu ti-era adresata si
pe care ai scos-o din context. Sper ca nu te superi ca-ti zic asta.
Incetinirea (cel putin in cazul unui server tipic de chat) nu prea are cum sa
fie "in python" (sau "in perl", ca sa nu se creada ca fac reclama la python).
Presupunand ca problema e consumul de prea mult CPU, e putin probabil (din
nou, in cazul unui server de chat) sa fie din cauza faptului ca e scris in
python. Probabil sunt alti factori: e multithreaded si se pierde mult timp
comutand intre threaduri, accesul la baza de date ineficient, tot serverul
asteapta dupa retea, toate threadurile asteapta dupa un socket si se trezesc
in acelasi timp ("thundering herd), disc lent etc etc etc. N-ai cum sa stii
pana nu masori sau, in cazul meu, pana nu intreb persoana care poate masura.
Dupa ce masori, tragi concluzii si repari problema. Vorba aia, "profile,
don't speculate".
Oricum, iti multumesc ca m-ai informat despre ce face pythonul. Banuiesc ca
programele tale le scrii direct in cod masina, asa, ca sa fie totul eficient
si sa nu se mai foloseasca atatea nivele (inutile) de abstractie.
Petru
---
Detalii despre listele noastre de mail: http://www.lug.ro/