SORU
5 HAZİRAN 2011, Pazar


Eşzamanlılık modeli: Ayrık vs Clojure

Eşzamanlı bir program veritabanı ile çapraz kontrol edilecek olan gelen posta büyük miktarda gelen kelimeleri ayıklamak için hangi Clojure kullanarak yazacağız.

Takım arkadaşlarım bir Ayrık bu program yazmak için kullanmayı önerdi.

Burada clojure bu program yazmak için iyi bir seçim olup olmadığını küçük bir şüphe duyuyorum fonksiyonel programlama yeni ve ben bir şey not etmek istiyorum, ya da Ayrık daha uygundur.

CEVAP
6 HAZİRAN 2011, PAZARTESİ


Gerçekten eşzamanlı ya da dağıtılmış demek istiyorsun?

Eğer eşzamanlı (çok iş parçacıklı, çok çekirdekli vb.), Yani eğer sonra Clojure doğal çözüm olduğunu söyleyebilirim.

  • Clojure. STM model mükemmel ve iş parçacıkları arasında paylaşılan depolama devlet yönetiminde çok etkili olduğu için çok çekirdekli eşzamanlılık için tasarlanmıştır. Eğer daha fazla anlamak istiyorsanız, this excellent video bakmaya değer.
  • Clojure STM eşzamanlı iş parçacıkları tarafından veri güvenli mutasyon sağlar. Ayrık kendi içinde güzel ama gerçekten paylaşılan kesilebilir devlet gerektiğinde, her şey değişmez, yaparak bu sorunu sidesteps. Eğer istediğiniz paylaşılan kesilebilir durumda eğer x, senin için uygulaması ile bir dizi mesaj etkileşimleri olan ne verimli ne de uygun fiyat bir şey paylaştı modeli....)
  • Clojure konuları çok daha verimli olabilir arasında mesaj geçen ve dolayısıyla iletişim güvenmez beri büyük bir makinede eşzamanlı bir ortamda iseniz Clojure ile doğal olarak daha iyi performans alırsınız.

Dağıtılmış ne demek (çok farklı makineler etkili bir şekilde izole süreçler olarak çalışan bir ağ üzerinden iş paylaşımı gibi) sonra eğer X daha doğal bir çözüm olur bence

  • Eğer x değişmez, hiçbir şey paylaşılan, mesaj tarzı geçirmeden dağıtılan bir şekilde kod yazmaya zorlar. Yani deyimsel Ayrıkotomatik olarakbirden fazla makine arasında dağıtılabilir ve dağıtılmış, hata toleranslı ayarı.
  • Eğer x bu nedenle doğal seçim olacağını çok iyi, bu yüzden bu kullanım için optimize edilmiş, ve kesinlikle en hızlı çalışan almak olacaktır.
  • Clojure yapabilirim de, ama yapmak gerekir çok daha fazla iş kendini (yani edersin de uygulamak için seçin veya birkaç form dağıtılmış bilgi işlem çerçeve) - Clojure değil şu anda gelin ile böyle bir çerçeve tarafından varsayılan.

Uzun vadede, bu Clojure Ayrık maçlar, dağıtılmış bilgi işlem çerçeve geliştirir umarım - o zaman her iki dünyanın da en iyisini elde edebilirsiniz!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Apple

    Apple

    22 HAZİRAN 2005
  • curioustravelers

    curioustrave

    12 AĞUSTOS 2006
  • Djbasilio AuToBaSs

    Djbasilio Au

    20 Aralık 2008