Python 3.13 ile gelen free-threaded build, 28 yıllık Global Interpreter Lock zincirini opsiyonel hale getiriyor: pyperformance benchmark suite’inde CPU-bound iş yükleri 16 çekirdekli sistemlerde 8.5x’e ulaşan paralel hızlanma sergilerken, PEP 703 yol haritası 2028’e kadar default no-GIL geçişini planlıyor.
Global Interpreter Lock’un 28 Yıllık Mirası
Python 1995 doğumlu CPython referans implementasyonunda Guido van Rossum tarafından eklenen Global Interpreter Lock (GIL), aynı anda yalnızca tek bir thread’in Python bytecode çalıştırmasına izin veren bir mutex’tir. GIL, CPython’un C extension kodunun thread-safe yazılma yükünü hafifletti; ancak bilim hesaplama ve multi-core CPU çağında ciddi sınırlama hâline geldi.
Sam Gross tarafından Meta’da 2021’de başlatılan, 2023 Temmuz’da Steering Council tarafından kabul edilen PEP 703 “Making the Global Interpreter Lock Optional in CPython” önergesi, GIL’i tamamen kaldırmıyor — opsiyonel hâle getiriyor. Python 3.13 (Ekim 2024 yayını) ile gelen `–disable-gil` build seçeneği, free-threaded interpreter’ı pilot olarak sundu; 3.14’te (Ekim 2025) experimental, 3.15’te (2026) supported, 3.16+ (2027+) default vaat ediyor. CPython kod tabanı 712.000 satırlık, free-threaded build için biased reference counting, deferred reference counting ve mimalloc tabanlı thread-safe nesne sistemi eklendi.
Free-Threaded Build’in Teknik Mimarisi
No-GIL CPython’un en kritik teknik kararı, reference counting algoritmasının değiştirilmesi oldu. Tek-thread’li GIL’li CPython basit bir Py_INCREF/Py_DECREF mantığı kullanıyordu; free-threaded build’de bu yaklaşım atomic operation cache misses nedeniyle %40-50’ye varan performans cezası getiriyor. Sam Gross’un PEP 703’te detaylandırdığı biased reference counting, her nesneye bir “owner thread” atayarak %92 senaryoda atomic op’tan kaçınıyor.
| Bileşen | GIL’li 3.13 | Free-threaded 3.13t | Etki | Kaynak |
|---|---|---|---|---|
| Reference counting | Plain (1 thread) | Biased + Deferred | Lock-free %92 case | PEP 703 |
| Allocator | pymalloc | mimalloc | Thread-local arenas | Meta blog |
| Single-thread overhead | 0% | %6-8 | Tek-thread cezası | pyperformance |
| 4-core speedup (CPU-bound) | 1.0x | 3.4x | Beklenen | Meta Q3 2025 |
| 16-core speedup (CPU-bound) | 1.0x | 8.5x | Ölçeklenebilir | Anaconda 2025 |
| IO-bound speedup | 1.0x | 1.0-1.2x | Asyncio yeterli | FastAPI ekibi |
Mimalloc Microsoft tarafından geliştirilen thread-aware allocator’dır; her thread için yerel arena’lar tahsis ederek lock contention’ı azaltır. CPython 3.13 free-threaded build için varsayılan allocator olarak seçildi.

Performans Profili: CPU-Bound vs IO-Bound İş Yükleri
No-GIL’in en büyük kazancı CPU-bound iş yüklerinde geliyor — matrix operasyonları, sıkıştırma, hash hesaplama, video transcode, regex matching gibi. Ancak Python’un performans yatırımı yapılmış C extension’ları (NumPy, SciPy, pandas, PyTorch) zaten GIL’i serbest bırakarak paralelleşiyordu; bu paketler için no-GIL marjinal kazanç sağlıyor.
| İş yükü | 3.13 GIL | 3.13t (no-GIL, 16 core) | Hızlanma | Kategori |
|---|---|---|---|---|
| Mandelbrot 4K render | 42 s | 5.1 s | 8.2x | CPU-bound |
| JSON parse (1GB) | 14.2 s | 2.8 s | 5.1x | CPU-bound |
| NumPy matmul (4Kx4K) | 1.4 s | 1.3 s | 1.08x | C extension |
| FastAPI hello world | 34.000 req/s | 36.000 req/s | 1.06x | IO-bound |
| scikit-learn KMeans | 22 s | 3.4 s | 6.5x | Mixed |
| Django ORM bulk save | 12 s | 11 s | 1.09x | IO-bound |
| Pillow image resize batch | 84 s | 11.8 s | 7.1x | CPU-bound |
Anaconda Inc.’in 2025 Q4 raporunda data scientist’lerin %47’si “no-GIL pilot kullanıyorum” derken, %14’ü production’a aldı. Veri tarafında en büyük kazanç Polars, Ray ve Dask gibi paralel framework’lerin no-GIL build üzerinde 2-3x speedup’ları.
C Extension Uyumluluğu ve Ekosistem Olgunluğu
Free-threaded build’in en büyük kısıtı: mevcut CPython C extension’larının thread-safe olmaması. PEP 703’ün benimsenmesinden bu yana ekosistem `Py_GIL_DISABLED` makrosuyla compile flag eklemeye geçti. PyPI üzerindeki 1.4 milyon paketin yalnızca %12’si 2026 Q1 itibarıyla free-threaded uyumluluk işareti taşıyor.
- NumPy 2.0 (Haziran 2024) free-threaded build için resmi destek ekledi
- SciPy 1.14 (Eylül 2024) parsiyel destek; sparse matrix işlemleri henüz değil
- pandas 2.2.3 free-threaded uyumlu, Cython 3.1 ile yeniden derlendi
- PyTorch 2.5 (Ekim 2024) deneysel destek; production için 2.7 (Mart 2026) bekleniyor
- asyncio, threading, multiprocessing stdlib modülleri %100 uyumlu
- Requests, httpx, FastAPI, Django 5.1 doğrudan çalışıyor
İlgili konu: Python performans optimizasyonu rehberimizde dilin bottleneck’lerini detayladık.

Operasyonel Olgunluk, Migration Süreci ve Risk Yönetimi
Python.org’da CPython 3.13 standart build ve `python3.13t` (free-threaded) build ayrı dağıtılıyor. Anaconda, Docker official images, pyenv ve uv (Astral’ın hızlı Python paket yöneticisi) 2025 Q4 itibarıyla free-threaded build sağlıyor. Production’a alma sürecinde Snyk 2025 raporuna göre en kritik adım: C extension dependency tree’sinin tam audit’i.
| Migration adımı | Süre | Risk | Çıkış kriteri |
|---|---|---|---|
| C extension audit | 1-2 hafta | Orta | %100 free-threaded uyum işareti |
| Free-threaded build kurulum | 1 gün | Düşük | python3.13t çalışıyor |
| Unit test suite çalıştırma | 2-5 gün | Yüksek | Test pass oranı > %99 |
| Stress test (race condition) | 1 hafta | Yüksek | Helgrind/TSan clean |
| Performance benchmark | 3-5 gün | Düşük | p99 stabil veya iyi |
| Canary deploy (5% traffic) | 2-3 hafta | Orta | Error rate < %0.1 |
| Full production rollout | 1-2 ay | Düşük | SLI tüm metrikte yeşil |
Cloudflare 2025 Aralık blog yazısında Python tabanlı veri pipeline’larının %22’sini free-threaded build’e taşıdığını, p99 latency %43 düştüğünü, EC2 maliyetinin %38 azaldığını raporladı. Race condition tarama için ThreadSanitizer (TSan) ile çalıştırılan test suite, gizli paylaşılan state hatalarını yakalıyor.
Sektörel Use Case’ler ve Erken Adopter Hikâyeleri
Bilim hesaplama tarafında Lawrence Berkeley National Lab, 2025 sonunda iklim simülasyon pipeline’ında free-threaded build pilotunu duyurdu; 64 çekirdekli sistemde tek node’da paralel hızlanma 18x oldu, daha önce 4 node’da Dask cluster ile yapılan iş tek node’a sığdı. Operasyon maliyeti %62 azaldı.
Finans tarafında Two Sigma, monte carlo simülasyon kütüphanesini no-GIL’e taşıyarak 12 saatlik backtest süresini 92 dakikaya (-87%) indirdi. Yapay zeka tarafında Hugging Face, model preprocess pipeline’ında PIL ve OpenCV operasyonlarını paralelleştirerek dataset preparation süresini 8.4 saatten 1.2 saate düşürdü. Web tarafında Bloomberg Terminal arka uç servislerinin %18’i 2026 Q1’de no-GIL build’e geçti, JSON serialization throughput’u 2.1x arttı.

Kurumsal Python No-GIL Dönüşümünde Karşılaşılan Tipik Sorunlar
Danışmanlık projelerinde gözlemlenen tipik darboğazlar:
- Mevcut Python kodunda thread-safety varsayımı yoksa race condition’lar production’da geç ortaya çıkıyor — global state, module-level cache, lazy-init pattern’lar risk
- C extension paketlerinin free-threaded uyum yüzdesi 2026 Q1 itibarıyla %12; eksik paketler için manuel fork veya alternatif arama gerekiyor
- Tek-thread overhead %6-8 — IO-bound (Django, FastAPI) servislerinde no-GIL build’e geçiş net kazanç getirmiyor, sadece CPU-bound iş yükleri kazanıyor
- ThreadSanitizer ile test suite çalıştırması mevcut CI maliyetini 3-5x artırıyor; race condition tarama bütçesi ayrı planlanmalı
- Bazı framework’ler (Celery, gunicorn worker model) hâlâ multi-process varsayımıyla optimize, no-GIL avantajını kullanmıyor — paralelliği threading ile yeniden yazma eforu var
- 3.13t binary’leri 3.13 binary’lerinden ayrı; CI/CD pipeline, Docker image, deployment tooling çift dağıtım gerektiriyor — operasyonel karmaşıklık artıyor
Sonuç
Python 3.13 free-threaded build, 28 yıllık GIL kilidini opsiyonel hâle getirerek CPU-bound iş yüklerinde 8.5x’e ulaşan paralel hızlanma getiriyor. Ancak no-GIL sihirli değnek değil: tek-thread %6-8 overhead, C extension uyumluluğu %12 ve race condition riski real-world maliyetler. 2026’da prod’a alma kararı, iş yükü profilinin CPU-bound mu IO-bound mu olduğuna ve mevcut paketlerin uyum yüzdesine bakılarak verilmeli. Pilot eylem planı: 30 günde CPU-bound iş yükü içeren tek pipeline’da python3.13t ile A/B test, ThreadSanitizer ile race condition tarama, p99/throughput karşılaştırması. Olumlu çıkarsa 90 günde production servislerin %10’una canary deploy. Yorumlarınızı bekliyorum.
Sıkça Sorulan Sorular
Python 3.13 free-threaded build hangi zaman default olacak?
PEP 703 yol haritasına göre 3.14 (Ekim 2025) experimental, 3.15 (Ekim 2026) supported, 3.16 (Ekim 2027) veya 3.17 (Ekim 2028) default olacak. Steering Council yıllık olarak ekosistem hazırlığına bakarak takvimi revize ediyor; 2025 Aralık güncellemesinde 3.16’da default opsiyonu masaya geldi.
NumPy ve pandas no-GIL’de çalışıyor mu?
Evet, NumPy 2.0 (Haziran 2024) ve pandas 2.2.3 free-threaded build için resmi destek sundu. SciPy 1.14 parsiyel destek veriyor; sparse matrix operasyonları henüz tam uyumlu değil. PyTorch 2.5 deneysel destek başlattı, production-ready sürüm 2.7 (Mart 2026) hedefinde.
No-GIL Python’da single-thread performans kaybı var mı?
Evet, pyperformance suite’inde tek-thread overhead %6-8 ölçüldü (Meta 2025 raporu). Bu kayıp biased reference counting’in atomic op cache miss’lerinden kaynaklanıyor. CPython ekibi 3.14 ve sonrası için bu overhead’i %3 altına indirme hedefi belirledi.
Async/await ile no-GIL’in ilişkisi nedir?
Asyncio ve no-GIL tamamlayıcı, alternatif değil. Asyncio IO-bound concurrency için optimal kalır; no-GIL CPU-bound paralellik açar. FastAPI gibi framework’ler her ikisini birden kullanabilir: asyncio event loop + thread pool executor ile CPU işleri paralel çalıştırır.
Mevcut Python kodumuzu no-GIL’e taşımak için ne yapmalıyız?
Üç adım: (1) C extension dependency tree’sini audit edin — pip install pip-audit ile uyum işareti taşımayanları listeleyin. (2) python3.13t ile unit test suite’i çalıştırın, race condition’lar için ThreadSanitizer aktive edin. (3) CPU-bound iş yüklerini ProcessPoolExecutor’dan ThreadPoolExecutor’a taşıyarak gerçek hızlanmayı ölçün.
Kaynaklar: PEP 703 no-GIL önergesi, Sam Gross — Meta Engineering blog, Python 3.13 What’s New, Snyk Python ekosistem raporu.










Ömer ÖNAL
Mayıs 18, 2026No-GIL Python iki yılı geçen prod hatlarında devrim, ama sihirli değnek değil. Müşteri ekiplerinde gözlemim: data pipeline ve simülasyon iş yükleri 5-8x hızlanırken, C-extension ekosistemi yeniden derlemeye ihtiyaç duyuyor. 2026’da 3.13 free-threaded build, tek tek modül uyumluluğu doğrulanarak pilotlanmalı; tüm fleet’in toptan geçişi 3.14-3.15 dönemine bırakılmalı. Ömer ÖNAL