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 :

Rapidité d’ouverture de fichier


Sujet :

Python

  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut Rapidité d’ouverture de fichier
    Les résultats du code suivant montrent qu’ouvrir un fichier avec une référence explicite (f) , et non pas à la volée, pour un objet-fichier est la plus rapide.

    Êtes-vous d’accord avec cette conclusion ?

    Est-ce que je procède à un bon test pour mesurer cette différence ?

    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
    from time import clock
     
    for pp in xrange (23):
        te = clock()
        for y in xrange(1000):
            for l in open(fichier, 'r').readlines() :
                x = l[0]
                break
        tf = clock()
        print tf-te,'  ',
     
     
        t1 = clock()
        for yy in xrange(1000):
            f = open(fichier, 'r')
            for line in f:
                x = line[0]
                break
            f.close()
        t2 = clock()
     
        print t2-t1

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Je dirais non.

    Tu ne testes pas l'ouverture de fichier mais :
    l'ouverture de fichier + lecture du fichier et assignation d'une variable x


    Si tu veux tester ouverture et lecture je ferais deux tests :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    def test():
        fd = open(FILENAME, "r")
        for line in fd:
          pass
     
    if __name__=='__main__':
        from timeit import Timer
        t = Timer("test()", "from __main__ import test")
        print t.timeit()

    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    def test():
        for line in open(FILENAME, "r"):
          pass
     
    if __name__=='__main__':
        from timeit import Timer
        t = Timer("test()", "from __main__ import test")
        print t.timeit()

    Le deuxième test sera forcément plus rapide (de très peu) car il n'y a pas d'assignation de variable.

Discussions similaires

  1. Automatisation d’ouverture de fichier
    Par rapte dans le forum Windows
    Réponses: 1
    Dernier message: 22/06/2014, 22h20
  2. probléme douverture dun fichier .exe
    Par rezguiinfo dans le forum Windows 7
    Réponses: 4
    Dernier message: 22/12/2010, 09h23
  3. [Fichier] Rapidité d'ecriture
    Par ZaaN dans le forum C++
    Réponses: 7
    Dernier message: 05/06/2007, 09h43
  4. Rapidité MySQL / Fichier
    Par izguit dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 21/08/2006, 11h44
  5. [VS 2005]problème douverture de fichier
    Par Cirdan Telemnar dans le forum MFC
    Réponses: 4
    Dernier message: 20/07/2006, 13h49

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