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!

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.
Write your awesome label here.
  • 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ı

1 Milyar Satır (1BRC) problemi, sadece bir kodlama egzersizi değil; .NET ekosisteminde donanımın limitlerini ne kadar zorlayabileceğimizin nihai testidir.

Sektörün değerli .NET uzmanlarıyla bir araya geldiğimiz bu özel yayında; milisaniyelerin hesabını yapmanın, Garbage Collector ile savaşmanın ve CPU mimarisine uygun kod yazmanın ne anlama geldiğini masaya yatırdık. Uzmanların bile sınırlarını zorlayan bu mühendislik problemini, şimdi bu eğitimde adım adım ve sıfırdan sizinle birlikte çözüyoruz!

ÖN SATIŞTA

Neler Öğreneceksiniz

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.

Neden Bu Kursu Seçmelisiniz?

  1. Gerçek Bir Mühendislik Problemi: Soyut "Hello World" örneklerini unutun. Dünyaca ünlü, zorlu bir performans problemini (1BRC) sıfırdan çözüyoruz.

  2. Ezber Bozan İçerik: Çoğu eğitim size File.ReadAllLines kullanmayı öğretir. Biz ise size bunun neden kullanılmaması gerektiğini ve işletim sisteminin diskten veriyi aslında nasıl okuduğunu öğretiyoruz.

  3. Görselleştirilmiş Derinlik: Stack/Heap, CPU Pipeline ve L1/L2/L3 Cache gibi karmaşık donanım konseptlerini sadece kodla değil, detaylı diyagramlarla zihninize kazıyoruz.

  4. Sonuç Odaklı Dönüşüm: Eğitimin başında dakikalar süren o hantal kodu adım adım işleyerek, en sonunda donanımın fiziksel limitlerine (milisaniyelere) kadar optimize edeceğiz.

Kimler İçin?

  1. Mid-Level ve Senior .NET Geliştiricileri: Kodun sadece syntax'ını değil, arka planda (bellek ve işlemci seviyesinde) tam olarak ne yaptığını merak edenler.

  2. Performans Tutkunları: Uygulamalarındaki darboğazları (bottleneck) ortadan kaldırıp, uygulamasının tepki süresini milisaniyelere düşürmek isteyen mühendisler.

  3. Backend Mimarları: Büyük veri (Big Data) işleme, yüksek trafikli sistemler (High-Load) ve kaynak optimizasyonu konularında uzmanlaşmak isteyenler.

  4. Bilgisayar Bilimi Meraklıları: C# gibi yönetilen (managed) bir dille, C++ seviyesinde donanım optimizasyonu ve bellek yönetimi yapmayı öğrenmek isteyen tutkulu geliştiriciler.

Eğitim İçeriği

Created with