5 puan yazan GN⁺ 2023-07-04 | 1 yorum | WhatsApp'ta paylaş
  • Fizz Buzz, mülakatlarda verilen yaygın bir programlama meydan okumasıdır.
  • Bu yazı, çeşitli programlama dillerinde uygulanmış farklı FizzBuzz gerçekleştirimlerini tanıtıyor.
  • Şimdiye kadar elde edilen en yüksek çıktı hızı assembly dilinde yaklaşık 57.2 GiB/s.
  • Yazı, assembly dilindeki gerçekleştirim için derleme ve kullanım talimatları sunuyor.
  • Programın çok iş parçacıklı sürümü kayda değer bir hız artışı sağlayamadı.
  • Yazı, yüksek performanslı bir FizzBuzz gerçekleştirimine yönelik zorlukları ve optimizasyonları vurguluyor.
  • Yazı, FizzBuzz algoritmasını uygulayan AVX2 assembler programını ele alıyor.
  • Program, daha hızlı performans için yüksek asal biçimi ve vmsplice sistem çağrısını kullanıyor.
  • Program; Fizz, Buzz ve satır numaralarını yazmak için çeşitli başlatma adımları ve rutinler içeriyor.
  • Yazı, kesintisiz FizzBuzz çıktısı üreten bir bytecode yorumlayıcısından söz ediyor.
  • Bytecode programı, verimli işleme için SIMD komutları kullanılarak yorumlanıyor.
  • Yazı, bytecode'u yorumlayan ve çıktı üreten ana döngüyle ilgili belirli kod bölümlerini tartışıyor.
  • Verilen kod, FizzBuzz performansını optimize etmeye yönelik programlama meydan okuması için yapılmış bir gönderidir.
  • Kod, yüksek performansa ulaşıyor ve gelişmiş teknikler ile komutlardan yararlanıyor.
  • Yazı, optimize edilmiş tekniklerle FizzBuzz dizisini üreten bir C programını ele alıyor.
  • Kod, başka geliştiriciler tarafından daha da optimize edilerek daha iyi performans gösteriyor.
  • Yazı, daha hızlı FizzBuzz assembly üretmek için JIT derleme kullanan bir kod gönderisini ele alıyor.
  • Bu gerçekleştirim, önişlemciyi ve verimli çıktı için vektörleştirilmiş C kodunu içeriyor.
  • Kod, önceki gönderilerden daha iyi performans göstermek üzere optimize edilmiş ve çeşitli sistemlerde test edilmiştir.
  • Yazı, optimizasyon için AVX2 komutlarını kullanan bir C kodu gerçekleştirimini ele alıyor.
  • Bu gerçekleştirim bir JIT derleyici içeriyor ve yüksek hız ile verimli bellek kullanımına ulaşıyor.
  • Yazı, FizzBuzz'ın hızını göstermek için bir Rust gerçekleştirimine yer veriyor.
  • Rust gerçekleştiriminde verimli tamsayıdan metne dönüştürme ve kod parçacığı teknikleri kullanılıyor.
  • Yazı, gelişmiş teknikler ve optimizasyonlar kullanarak FizzBuzz uygulayan bir C programını ele alıyor.
  • Program, diğer tüm girdilerden daha hızlı çalışacak şekilde tasarlanmıştır ve açıklamalar ile kod parçacıkları içerir.
  • Yazar, vmsplice sistem çağrısının kullanımına dair ipuçları ve uyarılar veriyor ve bir test modülü içeriyor.
  • Metin, çıktıyı verimli biçimde üreten fizzbuzz adlı bir işlevle ilgili kod parçacıkları içeriyor.

1 yorum

 
GN⁺ 2023-07-04
Hacker News görüşleri
  • Linux, bir programdan diğerine pipe edilen veriyi tamamen L2 önbelleğinde tutabildiği için etkileyici bir sistem mimarisi tasarımıdır.
  • Makalenin yazarı, programların nasıl çalıştığını anlamayan biriyle yüksek emek verilmiş yorumlar üzerinden ASLR ile ilgili bir sorunu çözüyor.
  • Rust'ın FizzBuzz implementasyonundaki performans beklenmedik şekilde Python 3 ile benzer seviyededir.
  • Kodu assembly ile yazmak her şeyi daha hızlı hale getirebilir.
  • Karmaşık problemleri çözme hızını değerlendirmek kusurludur; çünkü bu çoğunlukla bellekten veri çekme ve süreçler arası aktarımın verimliliğini test eder.
  • vmsplice kullanımı, bir sürecin belleğine diğer süreçler tarafından erişim sağladığı için yarışmanın gereksinimleriyle uyuşmayabilir.
  • Dosya uzantılarında .S ile .s arasındaki önemin ne olduğu sorgulanıyor.
  • Java, C, C++, assembly, Go ve Rust gibi diğer dillerle karşılaştırıldığında şaşırtıcı derecede hızlıdır.