ENHANCING PYTHON PERFORMANCE TRAINING EĞİTİMİ

Python kodunuzu ölçerek hızlandırın

cProfile, line_profiler, tracemalloc, veri yapısı optimizasyonu, lru_cache, NumPy, Numba, threading, multiprocessing ve asyncio

Python performans eğitimi: cProfile, line_profiler, tracemalloc ile profilleme; veri yapısı ve cache optimizasyonu; NumPy, Numba; threading, multiprocessing ve asyncio.

4 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Python performans optimizasyonu

Eğitim, ölçüm odaklı Python optimizasyonunu öğretir: timeit, cProfile, pstats, line_profiler, tracemalloc ve py-spy, doğru veri yapısı seçimi, lru_cache, generator ve __slots__, NumPy vektörel hesaplama, pandas apply yerine vektörel işlem, Numba @njit, GIL etkisi, threading, ProcessPoolExecutor, asyncio ve Python 3.13 free-threading.

Süre ve Format

4 Gün. Her gün dört modül; 1. gün Profilleme ve Ölçüm; 2. gün Algoritma ve Veri Yapısı Optimizasyonu; 3. gün Vektörel Hesaplama ve Derleme; 4. gün Eşzamanlılık ve Paralellik. Her modül uygulamalı alıştırmalarla pekiştirilir.

Seviye

İleri Seviye — Python kodunu profilleyip algoritma, NumPy, Numba ve eşzamanlılık ile hızlandırmayı kapsar.

Öğrenme Metodu

Her teknik gerçekten yavaş çalışan örnek koda uygulanır; profil raporları öncesi-sonrası karşılaştırmalı okunur.

Neden Bu Eğitim?

🎯Ölçerek optimize edin

Tahmin yerine profil çıktısıyla darboğazı bulur, doğru yeri iyileştirirsiniz.

🛠️Büyük hız kazanımı

NumPy, Numba ve paralellik ile örnek kodlarda çoklu kat hız artışı görürsünüz.

📈Doğru eşzamanlılık

I/O ve CPU işleri için thread, process ve asyncio arasında doğru seçimi yaparsınız.

Anahtar Konular

python performanspython optimizasyoncprofilenumbanumpy vektörelmultiprocessingasynciolru_cachegilpython profilleme
“Önce ölç, sonra optimize et.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Orta düzey Python

Sınıflar, istisna yönetimi, modüller ve paketler konusunda iş deneyimi veya eşdeğer bilgi gereklidir.

2
Geliştirme ortamı

Python 3.10+, Git, Docker (tercihen) ve bir IDE kurulu dizüstü bilgisayar gereklidir.

3
Komut satırı ve Git

Terminal kullanımı, pip/venv ve temel Git komutları bilinmelidir.

4
Ağ ve sunucu bilgisi

HTTP, JSON ve temel veritabanı kavramlarını bilmek uygulamalı bölümleri hızlandırır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı kodu profilleyerek darboğazları bulur.
Modül 1
Profilleme ve Ölçüm
  • timeit, cProfile ve pstats ile sıcak nokta bulma
  • line_profiler ve snakeviz ile satır düzeyinde analiz
  • tracemalloc ve memory_profiler ile bellek izleme
  • Mikro benchmark tuzakları ve pytest-benchmark
  • py-spy ile çalışan süreci örnekleme
  • Erken optimizasyondan kaçınma ve ölçüm-odaklı yöntem
Modül 2
Liste ve Tuple Performansı
  • sys.getsizeof ile liste ve tuple bellek karşılaştırması
  • timeit ile append, insert(0) ve deque işlemlerinin süresi
  • collections.deque ile baştan/sondan O(1) ekleme-çıkarma
  • array modülü ve numpy dizisi ile homojen veri tutma
  • Liste içinde arama maliyeti O(n) ve bisect ile sıralı arama
  • Yaygın tuzaklar: [[0]*3]*3 çoğaltma hatası ve liste üzerinde dolaşırken silme
Modül 3
Hash Mantığı ve Performans
  • hash() fonksiyonu ve __hash__/__eq__ sözleşmesi
  • Set ve dict üyelik testinin ortalama O(1) olması
  • Liste ile set üyelik testi süre karşılaştırması (timeit)
  • Hash çakışması ve dict açık adresleme mantığına genel bakış
  • Kendi sınıfımızı set içinde kullanmak: __eq__ ve __hash__ yazımı
  • İki büyük dosyanın satırlarını set farkıyla karşılaştırma
Modül 4
itertools ve İleri Döngü Teknikleri
  • itertools.chain, islice ve count ile tembel dolaşım
  • itertools.groupby ile ardışık gruplama (önce sıralama şartı)
  • itertools.permutations, combinations ve product kullanımı
  • accumulate ile kümülatif toplam hesaplama
  • Özel iterator sınıfı: __iter__ ve __next__ protokolü
  • Büyük dosyaları parça parça işleyen döngü kalıpları
Günün hedefiKatılımcı veri yapısı ve önbellekleme ile kodu hızlandırır.
Modül 1
Algoritma ve Veri Yapısı Optimizasyonu
  • Doğru veri yapısı seçimi: set/dict aramaları ve deque
  • Döngü yerine comprehension, map ve yerleşik fonksiyonlar
  • functools.lru_cache ve önbellekleme stratejileri
  • Generator ve tembel değerlendirme ile bellek tasarrufu
  • String birleştirme: join ve io.StringIO
  • Gereksiz kopya ve nesne üretimini azaltma (__slots__)
Modül 2
Arama ve Algoritma Analizi
  • Doğrusal arama ve ikili arama (binary search) uygulaması
  • bisect modülü ile sıralı listede ekleme ve arama
  • En iyi, ortalama ve en kötü durum analizi
  • Özyineleme (recursion), temel durum ve çağrı yığını
  • Dinamik programlamaya giriş: memoization (functools.lru_cache)
  • İki işaretçi (two pointers) ve kayan pencere teknikleri
Modül 3
Comprehension ve Üreteçler
  • List comprehension: [ifade for x in kaynak if koşul]
  • Dict ve set comprehension ile dönüştürme ve tekilleştirme
  • İç içe comprehension ve düzleştirme (flatten) örnekleri
  • Generator expression ile bellek tasarrufu (sum(x*x for x in ...))
  • yield ile generator fonksiyonu yazma ve next() davranışı
  • Okunabilirlik sınırı: ne zaman klasik döngü tercih edilmeli
Modül 4
Sözlük İleri Teknikleri
  • setdefault ve collections.defaultdict ile gruplama kalıpları
  • collections.Counter ile frekans ve most_common()
  • Dict comprehension ve iki listeden sözlük (dict(zip()))
  • Python 3.9+ sözlük birleştirme operatörleri ile config katmanlama
  • İç içe sözlükler ve JSON ile birebir eşleşme
  • OrderedDict, ChainMap ve MappingProxyType ile özel durumlar
Günün hedefiKatılımcı NumPy, Numba ve pandas vektörel işlemleriyle döngüleri hızlandırır.
Modül 1
NumPy ve Vektörel Hesaplama
  • NumPy dizisi, broadcasting ve vektörel işlem
  • Python döngüsünün NumPy karşılığıyla hız kıyası
  • pandas'ta apply yerine vektörel işlem ve eval/query
  • Numba @njit ile sayısal kod derleme
  • Cython ve C uzantılarına giriş
  • Bellek yerleşimi (C/Fortran order) ve görünüm (view) vs kopya
Modül 2
Veri Temizleme
  • Eksik değerler: fillna, dropna, interpolate ve ffill
  • astype ile tip dönüşümü, pd.to_numeric(errors="coerce") ve pd.to_datetime
  • str.strip, replace, lower ile metin temizliği
  • Aykırı değer tespiti: IQR ve z-skoru yöntemleri
  • rename, drop ve sütun sırası düzenleme
  • Kategorik tip (category) ile bellek tasarrufu
Modül 3
Büyük Veride Pandas ve Alternatifleri
  • Pandas bellek optimizasyonu: dtype küçültme, category, usecols
  • chunksize ile akış işleme
  • Dask DataFrame ile paralel ve bellek dışı işleme
  • Polars ve lazy sorgu planı
  • multiprocessing / concurrent.futures ile CPU paralelliği
  • Apache Arrow ve sütunlu bellek modeli
Modül 4
Birleştirme ve Şekil Değiştirme
  • merge ile inner, left, right, outer join ve on/left_on/right_on
  • indicator=True ile eşleşmeyen kayıtları bulma
  • concat ile satır ve sütun yönünde birleştirme
  • melt ve pivot ile geniş-uzun format dönüşümü
  • join ve index tabanlı birleştirme
  • Birleştirme sonrası satır sayısı doğrulaması ve çoğalma (many-to-many) hatası
Günün hedefiKatılımcı I/O ve CPU işleri için doğru eşzamanlılık modelini uygular.
Modül 1
Eşzamanlılık ve Paralellik
  • GIL'in etkisi: CPU-bound ve I/O-bound ayrımı
  • threading ve concurrent.futures.ThreadPoolExecutor
  • multiprocessing ve ProcessPoolExecutor
  • asyncio, async/await ve aiohttp ile eşzamanlı I/O
  • Paylaşılan durum, kilitler ve yarış koşulları
  • Python 3.13 free-threading ve alt yorumlayıcılara genel bakış
Modül 2
requests ile API İstemcisi
  • requests.get/post, params, json= ve headers kullanımı
  • Session nesnesi, bağlantı havuzu ve çerez yönetimi
  • timeout, raise_for_status() ve hata sınıfları
  • Yeniden deneme: urllib3 Retry ve HTTPAdapter
  • Sayfalama (pagination) ve hız sınırı (429, Retry-After) yönetimi
  • httpx ile eşzamansız (async) istemci
Modül 3
Veri Erişimi ve Servis Mimarisi
  • SQLAlchemy 2.0, bağlantı havuzu ve transaction yönetimi
  • Redis ile önbellek ve oturum
  • Mesajlaşma: RabbitMQ / Kafka ile olay güdümlü mimari
  • Celery ile arka plan işleri ve zamanlama
  • REST/gRPC servis iletişimi ve yeniden deneme politikaları
  • Mikroservis ve modüler monolit karşılaştırması
Modül 4
Kapsama, Kalite ve CI
  • coverage.py / pytest-cov ile satır ve dal kapsaması
  • Mutasyon testine giriş (mutmut)
  • Hypothesis ile özellik tabanlı (property-based) test
  • Kod kalitesi: flake8/ruff, black, mypy
  • GitHub Actions ile her push'ta test çalıştırma
  • Flaky test tespiti ve test izolasyonu

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Profilleme

cProfile ve tracemalloc ile darboğazları ölçüp önceliklendirebilirsiniz

🔧
Hash ve Hız

Hash mantığını anlayıp set ve dict aramalarının neden hızlı olduğunu ölçerek gösterebilirsiniz

📊
Kod Optimizasyonu

Doğru veri yapısı, lru_cache ve generator ile kodu hızlandırabilirsiniz

🧩
Comprehension ve Generator

Comprehension ve generator ifadeleriyle okunaklı, bellek dostu kod yazabilirsiniz

🚀
Veri Temizleme

Eksik, hatalı tipli ve aykırı verileri temizleyip analize hazır hale getirebilirsiniz

🔍
Birleştirme

merge, concat ve melt ile farklı tabloları doğrulayarak birleştirebilirsiniz

🛡️
requests İstemcisi

Zaman aşımı, yeniden deneme ve sayfalama ile dayanıklı API istemcisi yazabilirsiniz

📌
Kalite ve CI

Kapsama ölçümü, statik analiz ve CI hattıyla test sürecini otomatikleştirebilirsiniz

Kimler İçin Uygundur?

  • Yavaş çalışan Python kodunu optimize etmek isteyen geliştiriciler
  • veri mühendisleri
  • backend ekipleri

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Yavaş çalışan Python kodunu optimize etmek isteyen geliştiriciler, veri mühendisleri ve backend ekipleri.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası almaya hak kazanır; sertifika DVA'nın kendi katılım ve başarı belgesidir.
Eğitim için hangi yazılımlar gereklidir?
Python 3.10 veya üzeri, bir kod editörü (VS Code ya da PyCharm) ve eğitimin konusuna göre listelenen paketler yeterlidir; kurulum adımları ilk oturumda birlikte kontrol edilir.
GIL nedir ve nasıl aşılır?
GIL'in CPU-bound işlere etkisi, multiprocessing ve Numba ile aşma yöntemleri ve free-threading gelişmeleri uygulamalı anlatılır.
Cython ve C uzantıları zorunlu mu?
Hayır, Cython tanıtılır ancak odak profilleme, algoritma, NumPy ve Numba'dır.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Enhancing Python Performance Training Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
KonuPython
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn