2016-04-04 30 views
0

Örneğin, bir dize değiştirme işlemi için re.py kullanmaktan kaçınabiliyorsam, 13k (+/-) modül sonucunu önemli ölçüde geliştirilmiş komut dosyası performansına yüklemiyor mu?Belirli bir modülü python standart kitaplığından içe aktarmanın bellek ve performans etkileri nelerdir?

+0

Aklında belirli bir modül var mı, yoksa genel olarak mı soruyorsunuz? Herhangi bir hafıza kısıtlaması var mı? Çoğu modül farkedilir miktarda bellek almaz ve sadece bir kez ve oldukça hızlı bir şekilde içe aktarılır. Açıkçası, benim algoritmamın performansından biraz daha fazla modül ithal etmekten daha çok endişelenirim. – Reti43

+0

Muhtemelen; Bahse girerim, daha iyi algoritmalar ile daha fazla gelişme göreceksiniz. [Pypy] (http://pypy.org/) ile ücretsiz bir performans çizme elde edebilirsiniz - [JIT derleyicisi] (https://en.wikipedia.org/wiki/Just-in-time_compilation) Bir kaç "ısınmak", ama bir kez gerçekten çok hızlı. – willnx

+0

@ Reti43 Evet, kaynağın yaklaşık 13k olduğu 're' modülüne başvurdum. Hafıza kısıtlaması yok, ama yarım düzine kod satırıyla değiştirebileceğim için 13k'lık bir modülü belleğe yüklemek beni rahatsız ediyor. – Stephen

cevap

0

Performans etkisi azdır. Yükleme Python edilmesi sürecinin tamamı

$ time python -mre 

real 0m0.021s 
user 0m0.017s 
sys 0m0.005s 

re sadece 0.02s aldı ithal Python yorumlayıcısı, ve, maliyeti çalıştıran: benim orta-of-the-road PC'de aşağıdaki komutu çalıştırılmadan re içeri aktarımı, .02s'dan açıkça daha küçüktür.

DÜZENLEME: time python -c 'exit()' ile

ileri testler hiçbir şey yapmadan import re olarak aynı süreyi alır gösterir. Başka bir deyişle, import re'un maliyeti ölçülebilir değildir.

+0

Bu inanılmaz. Sanırım benim endişem pratik değil, daha çok prensip meselesi. – Stephen