Re: socket: optimisation python vs java
titi a écrit :
(snip)
> Reste à savoir comment passer de 7 à 50 ...
>
1/ En sortant les expressions constantes des boucles pour éviter de les
réévaluer à chaque iteration (voire, quand c'est possible, à les sortir
des fonctions). Par exemple, million = 1024*1024 devrait être défini en
dehors de toute fonction, et refaire l'affectation Mo=million à chaque
tour de boucle est inepte. Jusque là, ce n'est pas spécifique à Python,
mais vu le peu d'optimisation effectuées par le compilo, il vaut mieux
le faire soi-même.
2/ en aliasant les appels de méthodes (du moins celles appelées dans les
boucles). Là, par contre, c'est spécifique à Python (et probablement aux
autres langages objets dynamiques): la résolution d'un attribut est
une opération coûteuse et non optimisable par le compilo, alors que la
resolution d'une variable locale est très rapide. Par exemple,
chrono.restart, chrono.get_value, self.wfile.write,self.rfile.read
3/ éventuellement en utilisant de préférence les 'augmented
assignments', ie:
machin += 1
plutôt que
machin = machin + 1
Ca ne te fera probablement pas passer "de 7 à 50", mais ça pourrait aider...
|