IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

[python{2.7,3.4} Amélioration des temps de traitement


Sujet :

Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 34
    Par défaut [python{2.7,3.4} Amélioration des temps de traitement
    Bonjour,

    J'ai effectué un petit test comparatif sur un afficheur de news en mode console sur archlinux avec différents langages et outils dont vous trouverez le résultat ci-dessous.

    Il en ressort que le temps de chargement de python3 est relativement long, comparé aux autres environnements, notamment python2.7 .

    Dans l'attente de vos observations, suggestions, solutions et propositions.

    Code Résultats des benchs : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Bench n°1: 100 lancement sur 1 rss local
    c module :      0.128
    c compilé jit : 0.28 
    lua :           0.36
    awk :           0.43
    sed :           0.58
    python2 :       0.95
    bash :          1.35
    python3 :       6.60
     
     
    Bench n°2: 1 lancement sur 300 rss concaténés
    c module :      0.065
    c compilé jit : 0.065
    python2 :       0.068
    python3 :       0.12
    awk :           0.18
    lua :           0.35
    sed :           0.58
    bash :          3.05
     
     
    Bench n°3: 100 lancements sur 300 rss concaténés
    c module :      5.82
    c compilé jit : 5.86 
    python2 :       6.25
    python3 :        12s
    awk :            18s
    lua :            33s
    sed :            58s
    bash :           73s (20 lancements)
    python3.4 : cat zz.txt | ./news3.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    #!/usr/bin/env python3
     
    import sys
     
    red  = "\033[31m"
    bleu = "\033[34m"
    gris = "\033[37m"
    defo = "\033[0m"
    buf = False
    l = []
     
    xml = sys.stdin.read().splitlines()
    for z in xml :
        z = z.lstrip()
        if z[0:7] == "<title>" : 
            if buf :
                l.append('\n')
                l.append(z[7:-8].replace('’', 'ʼ'))
            else :
                buf = True
                l.append("\n\t\t>> News Archlinux.fr <<\n")
        elif z[0:9] == "<pubDate>" : 
            l.append(' || ')
            l.append(bleu)
            l.append(z[14:-25])
            l.append('\n')
        elif z[0:15] == "<description><!" :
            l.append(gris)
            l.append(z[22:-17].replace('’', 'ʼ').replace('>', '>').replace('…', '...'))
            l.append(defo)
            l.append('\n')
     
    print(*l, sep='')
    python2.7 : cat zz.txt | ./news27.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    #!/usr/bin/env python2
    # -*- coding: utf-8 -*-
     
    import sys
     
    red  = "\033[31m"
    bleu = "\033[34m"
    gris = "\033[37m"
    defo = "\033[0m"
    buf = False
    buf2 = ''
     
    xml = sys.stdin.read().splitlines()
    for z in xml :
        z = z.lstrip()
        if z[0:7] == "<title>" : 
            if buf :
                print '\n{} || '.format(z[7:-8].replace('’', 'ʼ')),
            else :
                buf = True
                print "\n\t\t>> News Archlinux.fr <<"
        elif z[0:9] == "<pubDate>" : 
            print bleu + z[14:-25]
        elif z[0:15] == "<description><!" :
            print gris + z[22:-17].replace('’', 'ʼ').replace('>', '>').replace('…', '...') + defo
     
    print
    Fichiers attachés Fichiers attachés
    • Type de fichier : txt zz.txt (24,6 Ko, 65 affichages)

Discussions similaires

  1. Réponses: 9
    Dernier message: 01/10/2012, 16h04
  2. Améliorer le temps d'exécution des boucles imbriquées
    Par alexmam15 dans le forum Débuter
    Réponses: 14
    Dernier message: 22/02/2011, 15h25
  3. Amélioration du temps de calcul pour creer des figures
    Par comoliv02 dans le forum MATLAB
    Réponses: 2
    Dernier message: 17/10/2007, 11h23
  4. CpteDom - amélioration des temps de réponse
    Par Domi2 dans le forum Access
    Réponses: 2
    Dernier message: 25/10/2006, 14h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo