Bu eğitim, sadece "çalışan kod" yazmayı değil, "Uçan Kod" yazmayı hedefleyen yazılımcılar içindir. Dünyaca ünlü 1 Billion Row Challenge (1BRC) problemini ele alarak, 13 GB'lık devasa bir veri setini .NET ile işlemeye çalışacağız.
Yolculuğumuz, herkesin yazdığı basit ama yavaş (dakikalarca süren) kodla başlayacak. Adım adım; bellek yönetimini, Garbage Collector'ı, Thread mekanizmalarını ve son olarak işlemci mimarisini (SIMD/AVX2) kullanarak bu süreyi ne kadar küçültebileceğimizi hep beraber göreceğiz.
Spoiler alert: Çok hızlanacak!
Spoiler alert: Çok hızlanacak!
Eğer "Benim kodum neden yavaş?" sorusunun cevabını ezbere değil, işlemci seviyesinde öğrenmek istiyorsanız, bu eğitim kariyerinizde bir dönüm noktası olacak.
-
Eğitmen: Salih Cantekin
-
Seviye: İleri Seviyeden Çok ileri seviyeye
-
Süre: 10+ Saat
-
Video Sayısı: 50
Sektörün Önde Gelenleriyle 1BRC Masası
ÖN SATIŞTA
Allocation-Free Kodlama (Sıfır GC Baskısı)
Span<T>, Memory<T> ve ref struct yapılarını kullanarak Garbage Collector'ı (GC) tamamen devreden çıkarmayı ve bellek tahsislerini sıfıra indirmeyi öğreneceksiniz.
Donanım Hızlandırma (SIMD)
System.Runtime.Intrinsics ile işlemcinizin vektör ünitelerine doğrudan erişecek; tek bir komutla çoklu veri işlemeyi (SIMD) sağlayarak kodunuzu uçuracaksınız.
İşletim Sistemi Seviyesinde Erişim
Yüksek seviyeli C#'ın sınırlarını aşıp; Unsafe kod blokları, pointer aritmetiği ve MemoryMappedFile ile bellek ve işletim sistemiyle doğrudan, aracısız konuşacaksınız.
Data-Driven Optimizasyon
Performans darboğazlarını tahmin yürütmek yerine, BenchmarkDotNet ve Visual Studio Profiler kullanarak metriklerle tespit etmeyi ve bilimsel olarak çözmeyi kavrayacaksınız.
İleri Seviye Mimari Bakış
Kodunuzu yazarken CPU Pipeline'ını, Cache Line mantığını ve Multithreading yapılarındaki "False Sharing" gibi gizli tehlikeleri göz önünde bulunduran bir mimar bakış açısı kazanacaksınız.
