2011-06-26 4 views
0

Je profile un code python; pourquoi passe-t-il plus de temps dans l'espace utilisateur?Profil Python cProfile vs unix time

 [email protected]$ time python main.py 

    1964 function calls in 0.003 CPU seconds 

Commandé par: Nom du standard

ncalls tottime percall cumtime percall filename: lineno (fonction) 1 0,000 0,000 0,003 0,003: 1() 1 0,000 0,000 0,000 0,000 ConfigParser.py:218 (initialisation) 1 0,000 0,000 0,001 0,001 ConfigParser.py:266(read) 30 0,000 0,000 0,000 0,000 ConfigParser.py:354(optionxform) 1 0,000 0,000 0,000 0,000 ConfigParser.py:434(_read) 15 0,000 0,000 0,000 0,000 ConfigParse r.py:515(get) 15 0.000 0.000 0.000 0.000 ConfigParser.py:611(_interpolate) 15 0.000 0.000 0.000 0.000 ConfigParser.py:619(_interpolate_some) 1 0.000 0.000 0.000 0.000 config.py:32(read_config_data) 1 0,000 0,000 0,001 0,001 config.py:9 (initialisation) 6 0,000 0,000 0,000 0,000 entity.py:108(add_to_filter) 1 0,000 0,000 0,002 0,002 entity.py:24 (initialisation) 1 0,001 0,001 0.002 0.002 entity.py:39(create_inverted_index) 493 0.000 0.000 0.001 0.000 entity.py:80(beautify) 1 0.000 0.000 0.000 0.000 entity.py:84(create_bucket_lookup) 1 0.000 0.000 0.000 0.0 00 main.py:15() 2 0.000 0.000 0.000 0.000 main.py:18() 1 0.000 0.000 0.003 0.003 main.py:23 (main) 1 0.000 0.000 0.000 0.000 main.py:9(get_bag_of_words) 19 0.000 0.000 0.000 0.000 {groupe méthode intégrée} 34 0.000 0.000 0.000 0.000 {méthode intégrée} 1 0.000 0.000 0.000 0.000 {isinstance} 2 0.000 0.000 0.000 0.000 {len} 28 0.000 0.000 0.000 0.000 { méthode 'append' des objets 'list'} 1 0.000 0.000 0.000 0.000 {méthode 'close' des objets 'file'} 15 0.000 0.000 0.000 0.000 {méthode 'copie' des objets 'dict'} 1 0.000 0.000 0.000 0.000 {méthode 'disable' des objets '_lsprof.Profiler'} 15 0.000 0.0 00 0.000 0.000 {méthode 'find' des objets 'str'} 19 0.000 0.000 0.000 0.000 {méthode 'isspace' des objets 'str'} 24 0.000 0.000 0.000 0.000 {méthode 'joint' des objets 'str'} 49 0.000 0.000 0.000 0.000 {méthode 'lower' des objets 'str'} 20 0.000 0.000 0.000 0.000 {méthode 'readline' des objets 'file'} 6 0.000 0.000 0.000 0.000 {méthode 'replace' des objets 'str'} 24 0.000 0.000 0.000 0.000 {méthode 'rstrip' des objets 'str'} 47 0.000 0.000 0.000 0.000 {méthode 'split' des objets 'str'} 9 0.000 0.000 0.000 0.000 {méthode 'startswith' des objets 'str'} 1030 0.000 0.000 0.000 0.000 {méthode 'strip' des objets 'str'} 15 0.000 0.000 0.000 0.000 {méthode 'mise à jour' de 'dict' obje cts} 2 0,000 0,000 0,000 0,000 {méthode « écrire » des objets « de fichiers »} 10 0,000 0,000 0,000 0,000 {open} 2 0,000 0,000 0,000 0,000 {plage} 3 0,000 0,000 0,000 0,000 {réduire}

Terminé

réel 0m0.063s utilisateur 0m0.050s sys 0m0.010s

Alors que le cprofile dit qu'il a fallu seulement 0,003 secondes, pourquoi est-unix (sys) temps à dire qu'il fonctionne en 0,01 secondes?

Répondre

1

temps (1) est la mesure du temps d'exécution du processus, alors que le profileur ne comprend pas le temps de démarrage de l'interpréteur Python, bytecode temps de compilation, etc.

+0

Toute raison pour laquelle cela se passe? http://twitpic.com/5ha6qe Dans le sens pourquoi Python prend-il plus de temps dans l'espace utilisateur? – vkris