Cémoi a écrit :
> Salut,
>
> le résultat de mes essais, Python 2.5.1, Windows XP SP2, lancé dans
> IPython 0.8.1:
>
> In [2]: run server.py
> detection : 127.0.0.1
> Utilise : 127.0.0.1 3700
> handle
> delta : 0.0309998989105 ... 1048576
> debit montant: 32.2581697084 Mo/s
> ------> 258.065357667 Mbits/s
> Pause debut
> Pause fin
> delta : 0.109000205994 ... 5242880
> debit montant: 45.8714729428 Mo/s
> ------> 366.971783543 Mbits/s
> Pause debut
> Pause fin
> delta : 1.03099989891 ... 52428800
> debit montant: 48.4966099927 Mo/s
> ------> 387.972879942 Mbits/s
> Pause debut
> Pause fin
> delta : 0.0160000324249 ... 1048576
> debit montant: 62.4998733404 Mo/s
> ------> 499.998986723 Mbits/s
> Pause debut
> Pause fin
> delta : 0.0780000686646 ... 5242880
> debit montant: 64.1025076722 Mo/s
> ------> 512.820061377 Mbits/s
> Pause debut
> Pause fin
> delta : 1.0 ... 52428800
> debit montant: 50.0 Mo/s
> ------> 400.0 Mbits/s
> Pause debut
> Pause fin
> delta : 0.0309998989105 ... 1048576
> debit montant: 32.2581697084 Mo/s
> ------> 258.065357667 Mbits/s
> Pause debut
> Pause fin
> delta : 0.109999895096 ... 5242880
> debit montant: 45.4545888034 Mo/s
> ------> 363.636710427 Mbits/s
> Pause debut
> Pause fin
> delta : 1.07800006866 ... 52428800
> debit montant: 46.382186285 Mo/s
> ------> 371.05749028 Mbits/s
> Pause debut
> Pause fin
> delta : 0.0160000324249 ... 1048576
> debit montant: 62.4998733404 Mo/s
> ------> 499.998986723 Mbits/s
> Pause debut
> Pause fin
> delta : 0.108999967575 ... 5242880
> debit montant: 45.8715732787 Mo/s
> ------> 366.97258623 Mbits/s
> Pause debut
> Pause fin
> delta : 1.0 ... 52428800
> debit montant: 50.0 Mo/s
> ------> 400.0 Mbits/s
>
> Par rapport à ton code rien de changé, à part ip_address = '127.0.0.1'
okay.
> dans le __main__,
> et viré les accents (IPython les gère mal).
Bizarre, et inattendu!
> Et comme tu peux le voir, je ne constate pas de baisse de régime.
> Est tu sûr de réellement passer par 127.0.0.1 lors de tes essais en Python ?
Non.
> Sur quel OS fais tu tes essais ?
Debian GNU/Linux 4.0
et plus précisément:
Linux 2.6.18.070711 #2 SMP Wed Jul 11 09:25:23 CEST 2007 i686 GNU/Linux
mais aussi
Linux 2.6.18-4-amd64 #1 SMP Fri May 4 00:37:33 UTC 2007 x86_64 GNU/Linux
Le système est paramétré avec des locales françaises-UTF-8:
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
> Quelle version de Python ?
essentielement
Python 2.4.4 (#2, Apr 5 2007, 20:11:18)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
mais aussi
Python 2.4.4 (#2, Apr 5 2007, 18:43:10)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
> Au passage, SocketServer.ThreadingMixIn ne sert à rien,
Même si je veux un thread différent pour chaque client?
> un petit coup de
> PEP-8 dans ton code ferait du bien à tes yeux,
http://www.python.org/dev/peps/pep-0008/
Certes, mais pour le moment, il s'agissait juste d'un test très
expérimental.
> et une ligne du style #
> -*- coding: latin-1 -*- juste après celle du "hashbang" soulagerait
> l'interpréteur ;o)
Le problème c'est qu'un mélange de fichiers latin-1 et utf-8 n'est pas
très facile à gérer.
> Je suis tellement loin de tes perfs que je n'ai même pas cherché si une
> quelconque optimisation était de rigueur.
L'utilisation de l'option -O me permet de passer de 0,7 à 7.
Elle me permet également d'avoir un temps d'exécution constant.
La ligne latin1 ne semble pas avoir d'impact.
Reste à savoir comment passer de 7 à 50 ...