Önceki Ders 10 / 10 🎉

🚀 SIMD ve Performans

🎮 Ortaokul Bu derste: Süper güç - Birden fazla iş aynı anda!
📚 Lise Bu derste: Vektör işlemleri ve paralel hesaplama
🎓 Üniversite Bu derste: SIMD intrinsics, cache optimization ve BerkVect

Süper Hız!

Normalde işlemler tek tek yapılır. Ama SIMD ile aynı anda 4, 8 hatta 16 işlem yapabilirsin! 🚀

📝 Örnek 1: Süper Kahraman Saldırısı

🦸 super_attack.berk
// Normal saldırı - tek tek
fonksiyon normal_saldir(dusmanlar: &mut [tamsayı], hasar: tamsayı) {
    yazdir("👊 Normal Saldırı (tek tek)");
    icin i in 0..dusmanlar.uzunluk() {
        dusmanlar[i] = dusmanlar[i] - hasar;
        yazdir("  Düşman {}: {} can kaldı", i, dusmanlar[i]);
    }
}

// SÜPER SALDIR - hepsine aynı anda!
fonksiyon super_saldir(dusmanlar: &mut [tamsayı], hasar: tamsayı) {
    yazdir("⚡ SÜPER SALDIRI (hepsine aynı anda!)");
    // SIMD: 4 düşmana aynı anda vur!
    dusmanlar.simd_cikar(hasar);
    icin (i, can) in dusmanlar.numarala() {
        yazdir("  Düşman {}: {} can kaldı", i, can);
    }
}

fonksiyon ana() {
    değişken mut dusmanlar1 = [100, 100, 100, 100];
    değişken mut dusmanlar2 = [100, 100, 100, 100];
    
    yazdir("🎮 SAVAŞ BAŞLIYOR!\n");
    yazdir("4 düşman, her birinin 100 canı var\n");
    
    normal_saldir(&mut dusmanlar1, 25);
    yazdir("");
    super_saldir(&mut dusmanlar2, 25);
    
    yazdir("\n✨ Sonuç aynı, ama SÜPER saldırı 4x hızlı!");
}

📝 Örnek 2: Piksel Boyama

🎨 pixels.berk
// Ekranda 1000 piksel var
// Her pikseli tek tek boyamak yavaş!

fonksiyon ana() {
    değişken mut pikseller = [0; 1000];  // 1000 siyah piksel
    
    yazdir("🎨 1000 piksel boyama yarışı!\n");
    
    // Normal: Tek tek boya
    değişken baslangic1 = zaman_al();
    icin i in 0..1000 {
        pikseller[i] = 255;  // Beyaz yap
    }
    değişken sure1 = zaman_al() - baslangic1;
    yazdir("👆 Normal boyama: {} ms", sure1);
    
    // SIMD: 8 piksel aynı anda!
    değişken baslangic2 = zaman_al();
    pikseller.simd_doldur(255);  // Hepsini aynı anda!
    değişken sure2 = zaman_al() - baslangic2;
    yazdir("⚡ SIMD boyama: {} ms", sure2);
    
    yazdir("\n🏆 SIMD {} kat daha hızlı!", sure1 / sure2);
}

🎯 SIMD Ne Zaman Kullanılır?

  • 🎮 Oyunlarda grafik işleme
  • 🎵 Ses ve müzik işleme
  • 🤖 Yapay zeka hesaplamaları

📌 Özet

🎉 TEBRİKLER!

BERK 101 kursunu tamamladınız! Artık BERK ile sistem programlamaya hazırsınız.

🏠 Ana Sayfaya Dön