Ö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
A
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
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
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
@ 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