Thread overview
ldc hızlı, dmd yavaş
Jun 04, 2015
zafer
Jun 04, 2015
zafer
Jul 16, 2015
kerdemdemir
Jul 18, 2015
Salih Dinçer
Jul 20, 2015
Salih Dinçer
June 02, 2015

dmd'nin ldc ve gdc'den yavaş olduğu biliniyor ama D'nin olanakları hep dmd ile geliştirildiğinden bazılarımız dmd'yi kullanmayı seçiyoruz.

Bir blog yazısında D'nin başka dillerle karşılaştırıldığında çok yavaş olduğu yazılmıştı. Nedeni, yazarın sonradan bağlayıcı ayarı ile ilgili olduğu anlaşılan bir sorun yüzünden ldc'yi kullanamamasıymış. Yalnızca dmd'yi kullanmak zorunda kalınca D yavaş göründü.

D'ciler yazara yardım ettiler, ldc'yi de kullanabildi, ve D o diller arasında (ve o testler üzerinde) en hızlı dil olarak çıktı:

http://vaskir.blogspot.com/2015/04/computing-cryptography-hashes-rust-vs-f.html

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

June 04, 2015

Anladığım kadarıyla bu değişimden sonra 4 testin 3'ünde D en hızlı olanmış. Ancak Rust'da oldukça iyi görünüyor. Rust mı öğrenmeye başlasak :)

D dilinini resmi derleyicisi DMD, dolayısıyla benim kişisel görüşüm DMD en iyisi olmalı, nedeni basit D ile tanışan bir çok kişinin ilk kullandığı derleyici ve D hakkında ilk fikir sahibi olduğu derleyici DMD olduğu için, ilk izlenim önemli. Diğer taraftan bu konuda yapacak bir şey yok, umarım DMD daha iyi hale gelir diye bekleyeceğiz.

Ben resmi derleyici olduğu için ve D kurulumu ile geldiği için DMD'yi seviyorum.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

June 04, 2015

Alıntı (zafer):

>

Rust mı öğrenmeye başlasak :)

Kesinlikle! :)

(Biz de buradaki yerel grubumuza http://www.meetup.com/SFBay-Association-of-C-C-Users/ bir Rust'çı davet edeceğiz.)

Ben yalnızca kulaktan dolma bir kaç şey biliyorum. En önemli özelliklerinden birisi, verinin sahipliği konusu. Yanılmıyorsam, sahiplik elden ele geçiriliyor ve bu derleme zamanında denetlenebiliyor. Örneğin, bir işlev çağrıldığında parametrenin sahipliği işleve geçirilmişse, çağıran kod artık o parametreyi kullanamıyor bile. (Galiba. :) )

Alıntı:

>

ilk fikir sahibi olduğu derleyici DMD olduğu için, ilk izlenim önemli.

Haklısın. Ama dmd bir kaç kişi tarafından geliştirilen ve öncelikle yeni olanakların eklendiği ve hataların giderildiği bir proje. Hız ve bellek konuları ikinci düzeyde kalıyor.

ldc ve gdc ise bu konuda çok şanslı çünkü dmd'nin ön tarafını alarak LLVM'in ve GCC'nin arka taraflarını (back end) kullanıyorlar. Optimizasyon derleyicinin arka tarafında halledildiğinden, yüzlerce programcının onlarca senede getirdiği güzellikler otomatik olarak elde edilmiş oluyor.

Buna karşılık, ldc ve gdc daha yavaş derliyorlar. (dmd de -O seçeneği kullanıldığında daha yavaş derliyor.)

Facebook'ta ne yaptıklarını biliyorum: Günlük geliştirme için dmd, asıl program için gdc... ldc'ye gerek görmüyorlarmış çünkü gdc'den yalnızca yüzde bir kaç birim daha hızlı oluyormuş.

Alıntı:

>

Diğer taraftan bu konuda yapacak bir şey yok, umarım DMD daha iyi hale gelir diye bekleyeceğiz.

Kesinlikle. Seçenekler olması da güzel. Tabii bir de SDC var: Derleyici olanaklarını kütüphane olarak sunacak olan bir proje. Böylece kendi D programlarımızdan bile "şu kodu derle lütfen" diyebileceğiz. :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

June 05, 2015

Alıntı (acehreli):

>

Kesinlikle! :)

Ben Rust'ı kurdum ve şöyle bir baktım. Cargo adında güzel bir komut satırı yöneticisi var, dub sistemine benziyor ama bence daha gelişmiş durumda. Kod derleme ve çalıştırmanın yanında paket gereksinimlerinide yönetiyor. Ayrıca yol gösterici mesajlar vererek kod geliştirmesinede yardımcı oluyor.

Yazım dili ise benim pek alışık olmadığım şekilde, biraz farklı ama kötü diyemem. Basitliği ve sadeliği seviyorum. Doğrusu Rust dilinde bunları bulmak mümkün gibi.

Alıntı (acehreli):

>

(Biz de buradaki yerel grubumuza http://www.meetup.com/SFBay-Association-of-C-C-Users/ bir Rust'çı davet edeceğiz.)

Çok istememe rağmen malesef Ankara'da bir grup kuramadık. Bir grup ortamında fikir alışverişi her zaman çok daha iyi oluyor.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 16, 2015

GCC 'nin LDC gibi bir önyüz hazırlayarak diğer sistem dilleri için olanak sağlaması gerçekten büyük bir öngörü gerektiriyor. Böyle jenerik tasarım yapanlaarı gördükce imreniyorum gerçekten adam sadece kendi sorununu süper çözmekle kalmıyor ileri görüşlülüğü ile diğer projelerede yardım etmiş oluyor.

LDC'i forumda tanıttığın için çok teşekkür ederim Ali Hocam.

Erdem

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 18, 2015

Rust'a baktım da şu özellik çok hoşuma gitti; başka diller de var mı ki?

http://rustbyexample.com/flow_control/loop/nested.html

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 18, 2015

D'de var. Şurada "Döngü Etiketleri" başlığı altında:

http://ddili.org/ders/d/etiketler.html

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 20, 2015

Evet, tıpa tıp aynısı hatta belki de continue komutu Rust'da işlemiyordur bile :)

İşin ilginci bu konu neden başka bir dilde ilgimi çekti de D'de zaten var olan bir şeyi göremedim?

Belki de unutmuşumdur...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]