Yazılım geliştiriciler yeni bir sistem toplarken genellikle aynı soruyla karşılaşıyor: Derleme sürelerini kısaltmak için bütçe en çok hangi bileşene ayrılmalı? Daha güçlü bir işlemci mi alınmalı, 3D V-Cache gerçekten fark yaratıyor mu, hızlı bir NVMe SSD derlemeleri hızlandırıyor mu, yoksa asıl fark işletim sistemi tarafında mı ortaya çıkıyor?
Bu sorulara daha net cevap verebilmek için üç farklı Ryzen işlemciyi, iki farklı depolama birimini ve iki işletim sistemini karşılaştırdık. Testlerde Flutter tarafında üç farklı uygulama, C++ tarafında ise Blender ve LLVM gibi daha ağır kod tabanları kullanıldı. Böylece hem çok sayıda küçük dosyayla çalışan mobil uygulama projelerini hem de işlemci ve önbellek tarafına daha fazla yük bindiren büyük C++ derlemelerini aynı tabloda görme şansı elde ettik.
Test Edilen Donanım ve Yazılım Ortamı
Testlerde Ryzen 5 9600X, Ryzen 7 9700X ve Ryzen 7 9800X3D işlemcileri kullanıldı. Karşılaştırmanın daha adil olması için tüm işlemciler 4.0 GHz frekansa sabitlendi. Böylece sonuçlarda mimari, çekirdek sayısı ve 3D V-Cache etkisini daha doğrudan gözlemlemek mümkün oldu.
Test edilen projeler şu şekilde:
- Flutter: smooth_app, onurhal, immich
- C++: Blender, LLVM
Kullanılan işlemciler:
- Ryzen 5 9600X, 6 çekirdek, 3D V-Cache yok
- Ryzen 7 9700X, 8 çekirdek, 3D V-Cache yok
- Ryzen 7 9800X3D, 8 çekirdek, 3D V-Cache var
İşletim sistemi tarafında Windows ve Ubuntu kullanıldı. Araç sürümleri ise Flutter 3.32.5, Java 17, Python 3.13.5, Visual Studio 2022 17.14.7, MSVC Toolset v143 14.44.35211 ve MSBuild 17.14.14.2531908 olarak sabitlendi.
Test Sistemi
| Bileşen | Model |
|---|---|
| Anakart | MSI B850 Gaming Plus WiFi |
| RAM | 2×48 GB G.SKILL 6000 CL28 |
| NVMe SSD | Samsung 990 EVO Plus 2 TB |
| SATA SSD | SanDisk SDSSDH3 500G, SATA 6 Gb/s |
| GPU | NVIDIA GeForce RTX 5070 Ti |
| CPU soğutucu | Thermalright 240 mm AIO |
| PSU | XPG 750W, 80+ Gold |
Test sırasında işlemcilerin 4.0 GHz seviyesini koruyabildiği HWiNFO ile doğrulandı. Arka planda testi etkileyecek yoğun RAM, disk veya ağ kullanımı olmamasına da dikkat edildi.
Test Metodolojisi
Sonuçların daha tutarlı olması için her proje önce bir kez derlendi ve bu ilk çalışma ölçümlere dahil edilmedi. Böylece bağımlılık indirme, ilk kurulum ve ön hazırlık sürelerinin sonuçları saptırması engellendi. Flutter tarafında her koşudan önce flutter clean çalıştırıldı ve flutter build apk --release komutu PowerShell döngüsüyle ölçüldü.
C++ projelerinde ise ilgili projelerin önerdiği derleme araçları kullanıldı. Koşular arasında build klasörleri temizlendi. Windows tarafında PerfMon ile disk, işlemci ve işlem başına I/O değerleri takip edildi. Linux tarafında ise perf stat ile cache-miss ve cache-reference gibi sayaçlar izlendi.
Genel Sonuçlar
Aşağıdaki tabloda tüm işlemci, işletim sistemi ve proje kombinasyonlarının derleme süreleri yer alıyor. Süreler saniye cinsinden verildi ve daha düşük değer daha iyi sonucu temsil ediyor.
| CPU / OS | smooth_app | onurhal | immich | Blender | LLVM |
|---|---|---|---|---|---|
| 9600X, Windows | 125.45 | 94.53 | 90.59 | 1575 | 2609 |
| 9700X, Windows | 124.56 | 93.03 | 91.84 | 1350 | 1774 |
| 9800X3D, Windows | 124.04 | 92.83 | 91.20 | 1333 | 1610 |
| 9600X, Ubuntu | 69.02 | 55.53 | 58.82 | 650 | 1508 |
| 9700X, Ubuntu | 68.78 | 54.09 | 56.65 | 529 | 1125 |
| 9800X3D, Ubuntu | 67.56 | 53.84 | 55.77 | 508 | 1087 |
Tablodaki en dikkat çekici sonuç, işletim sistemi farkı oldu. Aynı işlemci ve aynı proje kullanıldığında Ubuntu, Windows’a göre belirgin şekilde daha kısa derleme süreleri sundu. Örneğin Ryzen 5 9600X ile Blender derlemesi Windows’ta 1575 saniye sürerken Ubuntu’da 650 saniyeye kadar düştü.
İkinci önemli sonuç ise çekirdek sayısının özellikle C++ projelerinde büyük fark yaratması. Ryzen 5 9600X’ten Ryzen 7 9700X’e geçildiğinde Blender ve LLVM gibi büyük kod tabanlarında ciddi hızlanma elde edildi. Buna karşılık Flutter projelerinde işlemci yükseltmesinin etkisi çok daha sınırlı kaldı.
3D V-Cache tarafında ise tablo daha seçici bir sonuç gösteriyor. Ryzen 7 9800X3D, özellikle LLVM gibi bazı C++ derlemelerinde ek avantaj sağlıyor. Ancak Flutter projelerinde 3D V-Cache’in pratik etkisi oldukça düşük.
CPU Etkisi: Çekirdek Sayısı C++ Tarafında Çok Daha Önemli
6 çekirdekli Ryzen 5 9600X’ten 8 çekirdekli Ryzen 7 9700X’e geçiş, C++ projelerinde net şekilde hissediliyor. Windows üzerinde Blender derlemesi 1575 saniyeden 1350 saniyeye, LLVM derlemesi ise 2609 saniyeden 1774 saniyeye geriledi.
| Senaryo | Sonuç |
|---|---|
| Windows, Blender, 9600X → 9700X | −%14.3 |
| Windows, LLVM, 9600X → 9700X | −%32.0 |
| Ubuntu, Blender, 9600X → 9700X | −%18.6 |
| Ubuntu, LLVM, 9600X → 9700X | −%25.4 |
Flutter tarafında ise aynı işlemci geçişi çok daha küçük farklar yarattı. Windows üzerinde smooth_app yalnızca yüzde 0.7, onurhal yüzde 1.6 hızlandı. immich tarafında ise küçük bir ölçüm sapmasıyla 9700X sonucu 9600X’e göre çok az daha yavaş göründü.
Bu tablo, iş yükünün niteliğinin ne kadar önemli olduğunu gösteriyor. Blender ve LLVM gibi C++ projeleri işlemci çekirdeklerinden daha iyi faydalanırken, Flutter tarafında çok sayıda küçük görev, Gradle koordinasyonu ve dosya işlemleri daha baskın hâle geliyor.
3D V-Cache Derlemede Ne Kadar Fark Yaratıyor?
Ryzen 7 9700X ile Ryzen 7 9800X3D karşılaştırması, 3D V-Cache’in her yazılım geliştirme senaryosunda aynı etkiyi yaratmadığını gösterdi. C++ tarafında özellikle LLVM derlemesinde Windows üzerinde yüzde 9.3’e varan bir iyileşme görüldü. Blender tarafında ise kazanç daha sınırlı kaldı.
| Senaryo | Sonuç |
|---|---|
| Windows, Blender, 9700X → 9800X3D | −%1.3 |
| Windows, LLVM, 9700X → 9800X3D | −%9.3 |
| Ubuntu, Blender, 9700X → 9800X3D | −%4.0 |
| Ubuntu, LLVM, 9700X → 9800X3D | −%3.4 |
Flutter projelerinde 3D V-Cache etkisi ölçüm sınırına yakın kaldı. Windows tarafında smooth_app yüzde 0.4, onurhal yüzde 0.2, immich ise yüzde 0.7 hızlandı. Ubuntu tarafında da benzer şekilde küçük farklar gözlemlendi.
Bu nedenle ağırlıklı olarak Flutter geliştiren kullanıcılar için 3D V-Cache’e özel olarak bütçe ayırmak çok mantıklı görünmüyor. C++ tarafında çalışan ve büyük kod tabanlarını sık sık derleyen geliştiriciler için ise 3D V-Cache bazı projelerde anlamlı bir ek avantaj sağlayabiliyor.
Hızlı SSD Derlemeleri Gerçekten Hızlandırıyor mu?
Yaygın inanışlardan biri, daha hızlı bir SSD’ye geçmenin derleme sürelerini ciddi şekilde kısaltacağı yönünde. Testlerimizde bu beklenti sıcak derleme senaryoları için doğrulanmadı. Önceden bir kez hazırlanmış derlemelerde Samsung 990 EVO Plus NVMe SSD ile SanDisk SATA SSD arasında pratikte büyük bir fark oluşmadı.
CrystalDiskMark sonuçlarına bakıldığında NVMe sürücünün sıralı okuma ve yazmada SATA SSD’ye göre katbekat hızlı olduğu görülüyor. Ancak sıcak derleme sırasında darboğaz, çoğu zaman ham disk aktarım hızı olmuyor. Disk gecikmeleri milisaniye seviyesinde kaldı ve disk kuyruğu belirgin biçimde yükselmedi.
| Test | NVMe Okuma | SATA Okuma | NVMe/SATA | NVMe Yazma | SATA Yazma | NVMe/SATA |
|---|---|---|---|---|---|---|
| SEQ1M Q8T1 | 7272.02 MB/s | 563.37 MB/s | 12.91× | 5815.62 MB/s | 536.88 MB/s | 10.83× |
| SEQ1M Q1T1 | 3772.88 MB/s | 543.34 MB/s | 6.95× | 5143.45 MB/s | 524.88 MB/s | 9.80× |
| RND4K Q32T1 | 583.97 MB/s | 404.37 MB/s | 1.44× | 429.38 MB/s | 342.89 MB/s | 1.25× |
| RND4K Q1T1 | 76.63 MB/s | 43.48 MB/s | 1.76× | 225.09 MB/s | 132.95 MB/s | 1.69× |
Bu sonuç, NVMe SSD’nin gereksiz olduğu anlamına gelmiyor. Büyük dosya kopyalama, proje açılışı, bağımlılık indirme ve genel sistem tepkiselliği gibi alanlarda hızlı SSD hâlâ avantaj sağlar. Ancak sıcak derleme sürelerinde asıl darboğaz her zaman SSD’nin sıralı okuma ve yazma hızı olmayabiliyor.
Windows Defender Flutter Derlemelerinde Büyük Fark Yaratabiliyor
Disk tarafında asıl farkın ham SSD hızından değil, dosya başına oluşan ek yükten geldiğini gördük. Flutter ve Gradle zinciri derleme sırasında çok sayıda küçük dosyaya dokunuyor. Windows Defender ise gerçek zamanlı koruma nedeniyle bu dosya işlemlerini tek tek kontrol edebiliyor.
Bu durum özellikle kısa aralıklarla yüzlerce küçük dosya açıp kapatan projelerde ciddi gecikmeye dönüşebiliyor. Ryzen 7 9700X ve SATA SSD ile yapılan Windows testlerinde Defender dışlamaları bazı Flutter projelerinde yüzde 25’e varan hızlanma sağladı.
| Proje | Defender Açık | Defender Hariç | Fark |
|---|---|---|---|
| onurhal | 104.97 s | 78.58 s | −%25.14 |
| immich | 85.66 s | 82.60 s | −%3.57 |
| smooth_app | 130.61 s | 102.75 s | −%21.33 |
Bu sonuç her projede aynı oranda görülmüyor. Dosya trafiği yoğun olan smooth_app ve onurhal tarafında fark yüksekken, immich tarafında kazanım sınırlı kaldı. Yine de Windows üzerinde Flutter veya Gradle ağırlıklı çalışan geliştiricilerin proje klasörlerini, build dizinlerini ve Gradle cache klasörlerini Defender dışlamalarına eklemesi ciddi fayda sağlayabilir.
Dışlama için özellikle şu klasörler değerlendirilebilir:
- Proje klasörü
build/.gradle/.dart_tool/%USERPROFILE%\.gradle\caches%USERPROFILE%\.gradle\daemon- Android Studio ve Java SDK dizinleri
Burada tüm güvenlik korumasını kapatmak yerine yalnızca geliştirme klasörleri için kontrollü dışlama yapmak daha doğru bir yaklaşım olur.
Windows ve Ubuntu Arasındaki Fark
Testlerde Ubuntu’nun Windows’a göre ciddi avantaj sağladığı görüldü. Bu fark yalnızca Defender ile açıklanabilecek kadar basit değil. Linux tarafındaki dosya sistemi davranışı, küçük dosya işlemlerindeki ek maliyet, süreç başlatma yükü ve C++ araç zinciri gibi birçok etken sonucu etkiliyor olabilir.
Ryzen 7 9700X üzerinden baktığımızda Ubuntu’nun Windows’a göre sağladığı fark oldukça belirgin:
| Proje | Windows | Ubuntu | Fark |
|---|---|---|---|
| Blender | 1350 s | 529 s | −%60.8 |
| LLVM | 1774 s | 1125 s | −%36.6 |
| smooth_app | 124.56 s | 68.78 s | −%44.8 |
| onurhal | 93.03 s | 54.09 s | −%41.9 |
| immich | 91.84 s | 56.65 s | −%38.3 |
C++ tarafında derleyici ve bağlayıcı araçlarının Linux üzerinde daha verimli çalışması önemli bir etken olabilir. Flutter tarafında da küçük dosya işlemlerinin Linux üzerinde daha düşük ek maliyetle ilerlemesi fark yaratıyor gibi görünüyor.
Windows kullanmak zorunda olanlar için bu farkı azaltmanın bazı yolları var. Proje klasörlerini Defender’dan dışlamak, build işlemini hızlı bir SSD üzerinde tutmak, OneDrive veya benzeri senkronizasyon servislerinin proje klasörlerini taramasını engellemek ve uygun projelerde Clang, Ninja ve lld gibi daha hızlı araç zincirlerini tercih etmek fayda sağlayabilir.
Yazılım Geliştiriciler İçin Sistem Toplama Rehberi
Bu testlerin en net sonucu, tek bir doğru cevabın olmadığı. Yazılım geliştirici için en önemli bileşen, üzerinde çalışılan projeye göre değişiyor.
C++ ağırlıklı geliştirme yapıyorsanız çok çekirdekli bir işlemciye yatırım yapmak mantıklı. Blender ve LLVM gibi büyük kod tabanlarında 6 çekirdekten 8 çekirdeğe geçiş ciddi hızlanma sağladı. 3D V-Cache ise her projede dev fark yaratmasa da bazı C++ senaryolarında ek avantaj sunabiliyor.
Flutter ağırlıklı çalışıyorsanız tablo farklı. Bu tarafta 3D V-Cache’in etkisi oldukça düşük. Çok çekirdekli güncel bir işlemci yeterli olurken, Windows kullanıyorsanız Defender dışlamaları ve işletim sistemi ayarları donanım yükseltmesinden daha fazla fark yaratabilir.
| İş yükü | CPU tercihi | 3D V-Cache | OS tercihi | Windows için öneri |
|---|---|---|---|---|
| C++ ağırlıklı | Çok çekirdek önemli | Faydalı olabilir | Mümkünse Ubuntu | Arka plan servislerini azaltın |
| Flutter ağırlıklı | Güncel çok çekirdek yeterli | Gerekli değil | Windows veya Ubuntu | Proje klasörlerini Defender’dan dışlayın |
| Karma kullanım | Çok çekirdek avantajlı | C++ için avantajlı olabilir | C++ yoğunluğu varsa Ubuntu daha iyi | Defender, indexer ve bulut senkronizasyonuna dikkat edin |
Kısaca özetlemek gerekirse, işlemci çekirdek sayısı özellikle büyük C++ projelerinde en önemli faktörlerden biri. 3D V-Cache bazı C++ iş yüklerinde yardımcı oluyor ancak Flutter tarafında belirgin bir avantaj sağlamıyor. SSD tarafında ise sıcak derlemelerde NVMe ve SATA SSD arasındaki fark beklenenden düşük kalıyor. Windows Defender ve işletim sistemi seçimi ise özellikle Flutter ve küçük dosya ağırlıklı iş akışlarında ciddi fark yaratabiliyor.
Testlerin Sınırlamaları
Bu sonuçlar kullanılan donanım, yazılım sürümleri, proje yapıları ve test koşulları için geçerli. Farklı toolchain ayarları, farklı Windows yapılandırmaları veya farklı projeler sonuçları değiştirebilir. Özellikle Gradle ve Ninja gibi araçların paralellik davranışı, JVM ısınması, disk önbelleği, arka plan servisleri ve güç planı ayarları derleme sürelerini etkileyebilir.
Testlerde bu etkileri azaltmak için işlemci frekansı sabitlendi, ilk derlemeler ölçüme dahil edilmedi, aynı proje commit’leri kullanıldı ve kaynak kullanımı takip edildi. Yine de sonuçları mutlak genelleme olarak değil, yazılım geliştirme sistemlerinde hangi bileşenlerin daha çok fark yaratabileceğini gösteren pratik bir karşılaştırma olarak değerlendirmek gerekiyor.
Kısa Özet
- 8 çekirdek, özellikle C++ projelerinde 6 çekirdeğe göre ciddi avantaj sağlıyor.
- 3D V-Cache, bazı C++ derlemelerinde faydalı olabiliyor ancak Flutter tarafında etkisi çok sınırlı.
- Ubuntu, test edilen projelerde Windows’a göre belirgin şekilde daha kısa derleme süreleri sundu.
- Sıcak derlemelerde hızlı NVMe SSD, SATA SSD’ye göre beklenen ölçüde büyük bir süre avantajı sağlamadı.
- Windows Defender, dosya trafiği yoğun Flutter projelerinde derleme süresini ciddi şekilde etkileyebiliyor.
- Flutter geliştiricileri için en büyük kazanım çoğu zaman donanım yükseltmesinden değil, doğru sistem ayarlarından geliyor.
