Python Performans İpuçları

Çeviren: Oğuz Yarımtepe

Yasal Açıklamalar

Bu belgenin çevirisinin, Python Performans İpuçları 1.0 sürümünün telif hakkı © 2005 Oğuz Yarımtepe'ye aittir. Bu belgeyi, Free Software Foundation tarafından yayınlanmış bulunan GNU Özgür Belgeleme Lisansının 1.1 ya da daha sonraki sürümünün koşullarına bağlı kalarak kopyalayabilir, dağıtabilir ve/veya değiştirebilirsiniz. Bu Lisansın bir kopyasını http://www.gnu.org/copyleft/fdl.html adresinde bulabilirsiniz.

BU BELGE "ÜCRETSiZ" OLARAK RUHSATLANDIĞI İÇİN, İÇERDİĞİ BİLGİLER İÇİN İLGİLİ KANUNLARİN İZİN VERDİĞİ ÖLÇÜDE HERHANGİ BİR GARANTİ VERİLMEMEKTEDİR. AKSİ YAZİLİ OLARAK BELİRTİLMEDİĞİ MÜDDETÇE TELİF HAKKİ SAHİPLERİ VE/VEYA BAŞKA ŞAHİSLAR BELGEYİ "OLDUĞU GİBİ", AŞİKAR VEYA ZİMNEN, SATİLABİLİRLİĞİ VEYA HERHANGİ BİR AMACA UYGUNLUĞU DA DAHİL OLMAK ÜZERE HİÇBİR GARANTİ VERMEKSİZİN DAĞİTMAKTADİRLAR. BİLGİNİN KALİTESİ İLE İLGİLİ TÜM SORUNLAR SİZE AİTTİR. HERHANGİ BİR HATALİ BİLGİDEN DOLAYİ DOĞABİLECEK OLAN BÜTÜN SERVİS, TAMİR VEYA DÜZELTME MASRAFLARİ SİZE AİTTİR.

İLGİLİ KANUNUN İCBAR ETTİĞİ DURUMLAR VEYA YAZILI ANLAŞMA HARİCİNDE HERHANGİ BİR ŞEKİLDE TELİF HAKKİ SAHİBİ VEYA YUKARIDA İZİN VERİLDİĞİ ŞEKİLDE BELGEYİ DEĞİŞTİREN VEYA YENİDEN DAĞITAN HERHANGİ BİR KİŞİ, BİLGİNİN KULLANIMI VEYA KULLANILAMAMASI (VEYA VERİ KAYBI OLUŞMASI, VERİNİN YANLIŞ HALE GELMESİ, SİZİN VEYA ÜÇÜNCÜ ŞAHISLARIN ZARARA UĞRAMASI VEYA BİLGİLERİN BAŞKA BİLGİLERLE UYUMSUZ OLMASI) YÜZÜNDEN OLUŞAN GENEL, ÖZEL, DOĞRUDAN YA DA DOLAYLI HERHANGİ BİR ZARARDAN, BÖYLE BİR TAZMİNAT TALEBİ TELİF HAKKİ SAHİBİ VEYA İLGİLİ KİŞİYE BİLDİRİLMİŞ OLSA DAHİ, SORUMLU DEĞİLDİR.

Tüm telif haklari aksi özellikle belirtilmediği sürece sahibine aittir. Belge içinde geçen herhangi bir terim, bir ticari isim ya da kuruma itibar kazandırma olarak algılanmamalıdır. Bir ürün ya da markanın kullanılmıŞ olması ona onay verildiği anlamında görülmemelidir.

Özet

Bu belge, Python programlarınızın performansını arttırmak ve gelişirmek için çeşitli ipucu ve hilelerin nasıl yapılacağını göstermektedir. Her kimden bu konu ile ilgili bilgi aldıysam, kaynağını araştırmaya çalıştım.

1996 yılında yazdığım "hızlı python" yazısından bu yana Python dili çok gelişti. Bu da artık bazı önermelerin gelecekte değişeceği anlamına geliyor. Birileri ileride belgeyi sürdürür umuduyla Python wikisine koydum.

Not

Buradaki ipuçlarını her zaman kullanmayı planladığınız Python sürümü ve uygulamayla test etmeli, körü körüne bir yöntemin diğerinden daha iyi olduğunu kabul etmemelisiniz. Python kodu için profil oluşturma ile ilgili http://wingware.com/doc/howtos/performance-profiling-python-code adresini ziyaret ediniz.

Ayrıca Pyrex, Psyco, Weave ve PyInline gibi programınızın performansını, performans-kritik kodu C veya makine diline dönüştürerek gözle görülür performans artışı sağlayan paketler de vardır.


İçindekiler

9.1. Diğer sürümler
9.2. Gerekli olanı eniyileştirin
9.3. Sıralama
9.4. Karakter Dizisi Bitiştirme
9.5. Döngüler
9.6. Noktalardan kaçınma...
9.7. Yerel Değişkenler
9.8. Sözlük Elemanlarını İlklendirme
9.9. import İfadesini Ek Yükü
9.10. Veri Bütünlüğü
9.11. İşleri Daha Az Sıklıkla Yapmak
9.12. Python C değildir
9.13. range Yerine xrange Kullanın
9.14. Çalışma Zamanında remap Fonksiyonu
9.15. Kodun Profilini Çıkarmak
9.15.1. Modülün Profilini Çıkarmak
9.15.2. Hotspot Modülü
9.15.3. Trace Modülü