3 puan yazan GN⁺ 2023-08-26 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Yazıda, yazarın Elixir programlama diliyle ilgili deneyimi ele alınıyor; odak noktası ise eşzamanlılık ve paralellik özellikleri.
  • Yazar, son 5-6 yıldır Elixir'yi birincil programlama dili olarak kullandığını, performansını ve çok az sayıdaki dezavantajını kabul ettiğini belirtiyor.
  • Yazar, Elixir'nin eşzamanlılık modelini PHP ve Python ile karşılaştırıyor; PHP'nin eşzamanlılık modelinin web sunucusuna dayandığını, Python'un ise Global Interpreter Lock (GIL) nedeniyle eşzamanlılıkta zorlandığını savunuyor.
  • Elixir, Erlang ve Erlang sanal makinesi (BEAM) üzerine kuruludur; bu yapı, çok sayıda hafif süreci çalıştırmak üzere tasarlandığından eşzamanlılık ve paralelliğin temelini sağlar.
  • BEAM, başlatılırken scheduler'lar için thread'ler oluşturur ve varsayılan olarak kullanılabilir her CPU çekirdeği başına bir tane olacak şekilde süreç zamanlamasını yürütür.
  • Yazar, Elixir ve Erlang'ın immutable fonksiyonel programlama özelliklerinin, yüksek düzeyde eşzamanlılık ve paralellik elde etmek için yapılmış pratik bir tercih olduğunu açıklıyor.
  • Elixir'deki süreçler durumu paylaşmaz ve yalnızca mesaj iletimi yoluyla asenkron biçimde iletişim kurabilir; bu da güvenli eşzamanlı ve paralel çalışmayı garanti eder.
  • Yazar, Elixir ile kod yazarken çoğu web isteğinin tek bir süreç içinde işlendiğini, bu nedenle bu temel ilkeler hakkında çok fazla endişelenmeye gerek olmadığını belirtiyor.
  • Elixir, eşzamanlı işler için async/await mekanizması sunar; bu, Task modülünde uygulanır ve numaralandırılabilir her öğe için Task çalıştıran Task.async_stream işlevi bulunur.
  • Yazar, Elixir ve Erlang'ın eşzamanlılık ve paralellik için sunduğu güçlü seçeneklerin sonradan eklenmiş bir fikir olmadığını, çalışma zamanının temeline inşa edildiğini ve bu yüzden BEAM üzerindeki eşzamanlılığın ne tehlikeli ne de zor olduğunu sonucuna varıyor.

Henüz yorum yok.

Henüz yorum yok.