En cas de doute, temps:
from timeit import Timer
print Timer("""re.findall(r"\d+", "fg12f 1414 21af 144")""", "import re").timeit()
print Timer("""findall(r"\d+", "fg12f 1414 21af 144")""", "from re import findall").timeit()
Je reçois les résultats suivants, en utilisant le minimum de 5 répétitions de 10.000.000 appels:
re.findall(): 123.444600105
findall(): 122.056155205
Il semble y avoir un avantage d'utilisation très légère à utiliser findall()
directement, plutôt que re.findall()
.
Cependant, les instructions d'importation réelles diffèrent considérablement dans leur vitesse. Sur mon ordinateur, je reçois les résultats suivants:
>>> Timer("import re").timeit()
2.39156508446
>>> Timer("from re import findall").timeit()
4.41387701035
Alors import re
semble être à peu près aussi rapide pour exécuter deux fois. Vraisemblablement, cependant, l'exécution du code importé est votre goulot d'étranglement, plutôt que l'importation réelle.
L'optimisation prématurée est mauvaise. S'il vous plaît fournir une chose spécifique à optimiser. La couverture «est plus efficace» Les questions n'ont pas de sens sans un morceau de code spécifique à mesurer. –