Thread overview
Derleme hızı ve program boyutları
Feb 01, 2014
anil
Feb 04, 2014
huseyin
Feb 04, 2014
Mengu
Feb 06, 2014
huseyin
Feb 09, 2014
Mengu
February 01, 2014

D dilinde küçük uygulamalar oluşturmaya başladım. Gerçekte eğlenceli ve zevkli bir dil ancak iki konu aklıma takıldı.
1- derleme süresi biraz fazla uzun sürüyor. Normale göre :D
2- yazdığım konsol tabanlı programlar bile büyük boyutlu oluyor. C de 70-80 kb olan programları d ile yazinca 500-600 kb boyutuna ulaşıyor. Hele bir de gtkd işin içine girince 1.5 Mb a kadar çıkıyor.

Şu an için bana bir engel değiller ama ileride komplex programlar yazınca sorun olacak gibi görünüyor.

Bu sorunların Nedeni ne olabilir? Dil geliştikçe bu sorunlar çözülür mü?

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

February 01, 2014

Alıntı (anil):

>

1- derleme süresi biraz fazla uzun sürüyor. Normale göre :D

C++ gibi dillerle karşılaştırınca D'nin derleme süresi akıl almayacak derecede hızlıdır. Bu, dilin tasarımından kaynaklanan bir konu.

Ancak, derlemeyi yavaşlatan etkenler de var:

  • Derleyici eniyileştirmeleri. Eğer derleyici derlemenin üstüne program hızlı çalışsın diye ek akıllılık gösteriyorsa biraz zaman da ona harcanıyor. Bu, gdc ve ldc'de daha belirgin çünkü onlar dmd ile karşılaştırıldığında daha hızlı işleyen programlar üretiyorlar.

  • Adı üstünde, CTFE (derleme zamanında işlev işletme), işlevlerin derleme zamanında işletilmelerini sağlıyor. Başka sistem dillerinin erişemedikleri akıl almaz bir olanak olmasına rağmen, doğası gereği derlemeyi yavaşlatıyor. (C++11 bu konuda yenilikler getirdi.)

  • Şablon açılımları derlemeyi yavaşlatabilir. Bu, C++'ta da bulunan bir etki.

Eğer derleme hızını C ile karşılaştırıyorsan ona bir şey denemez çünkü çok az olanağı olan C çok çok hızlı derlenen bir dildir.

Alıntı:

>

C de 70-80 kb olan programları d ile yazinca 500-600 kb boyutuna ulaşıyor.

Onun nedenleri var:

  • Kimse bu konuyu önemseyip üzerine eğilmiyor çünkü önemli bir konu değil. Bizim şirkette üretilen programların çoğu bir çok on megabayt büyüklüğünde oluyor.

  • Program kütüphaneyi dinamik değil, statik bağlıyordur. Bu konuda D'nin desteği yeni.

  • C'nin çalışma ortamı (C runtime) D'ninki ile karşılaştırınca çok yeteneksiz: D'de çöp toplayıcı var, dilimler var, vs.

Alıntı:

>

Hele bir de gtkd işin içine girince 1.5 Mb a kadar çıkıyor.

  • Olabiliyorsa kütüphaneleri dinamik bağlamak gerek. Ben bu konuyu fazla önemsemediğim için Windows ve Linux ortamlarında son durumu bilmiyorum ama son bir kaç sürümde gelişmeler oldu.

Alıntı:

>

Şu an için bana bir engel değiller

Evet, aynen öyle! :)

Alıntı:

>

ama ileride komplex programlar yazınca sorun olacak gibi görünüyor.

Çok nadir.

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

February 04, 2014

Alıntı:

>

C++ gibi dillerle karşılaştırınca D'nin derleme süresi akıl almayacak derecede hızlıdır. Bu, dilin tasarımından kaynaklanan bir konu.

Şu derleme hızı konusunda kesinlikle @acehreli 'ye katılıyorum. İleride projendeki kod satırı arttıkça farkı kendin görebileceğine inancım tam :)

Alıntı:

>

2- yazdığım konsol tabanlı programlar bile büyük boyutlu oluyor. C de 70-80 kb olan programları d ile yazinca 500-600 kb boyutuna ulaşıyor. Hele bir de gtkd işin içine girince 1.5 Mb a kadar çıkıyor.

Bunun sebebi bildiğim kadarıyla D' nin cafcaflı kütüphanesinin statik olarak exeye eklenmesi ancak ben visual D kullanıcısıyım ve şuanda birçok kod içermesine rağmen exe min boyutu 302 kb sanırım visualD bu işle ilgileniyor alt kısımlarını incelemeye vakit bulamadım

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

February 04, 2014

Alıntı (huseyin325325):

>

Alıntı:

>

C++ gibi dillerle karşılaştırınca D'nin derleme süresi akıl almayacak derecede hızlıdır. Bu, dilin tasarımından kaynaklanan bir konu.

Şu derleme hızı konusunda kesinlikle @acehreli 'ye katılıyorum. İleride projendeki kod satırı arttıkça farkı kendin görebileceğine inancım tam :)

Alıntı:

>

2- yazdığım konsol tabanlı programlar bile büyük boyutlu oluyor. C de 70-80 kb olan programları d ile yazinca 500-600 kb boyutuna ulaşıyor. Hele bir de gtkd işin içine girince 1.5 Mb a kadar çıkıyor.

Bunun sebebi bildiğim kadarıyla D' nin cafcaflı kütüphanesinin statik olarak exeye eklenmesi ancak ben visual D kullanıcısıyım ve şuanda birçok kod içermesine rağmen exe min boyutu 302 kb sanırım visualD bu işle ilgileniyor alt kısımlarını incelemeye vakit bulamadım

siz bir de go'yu gorun boyut konusunda. :)

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

February 06, 2014

Alıntı:

>

siz bir de go'yu gorun boyut konusunda. :)

GO derken sanırım go programlama dilini kastediyorsunuz? Derlenebiliyor mu? Yoksa python gibi dosya sonuna ek olarak mı oluşturuluyor?

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

February 09, 2014

Alıntı (huseyin:1391687295):

>

Alıntı:

>

siz bir de go'yu gorun boyut konusunda. :)

GO derken sanırım go programlama dilini kastediyorsunuz? Derlenebiliyor mu? Yoksa python gibi dosya sonuna ek olarak mı oluşturuluyor?

evet, bildigimiz go programlama dili, nam-i diger golang. go derlenen bir dil ve derleme sonrasi dosya boyutu her surumde artiyor.

https://donatstudios.com/Golang-Binary-Sizes

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

February 12, 2014

unilink bağlayıcısı ile bağlayınca D ile yazılmış minik bir Windows programının boyu 1068 bayt olabiliyormuş:

http://forum.dlang.org/thread/trsunkhmxurvvsrsxvgq@forum.dlang.org#post-ninjjtlyfhhsmhvcqclo:40forum.dlang.org

Bomboş bir object.d kullandığı için pek yetenekli olduğu söylenemez ama sonuçta mümkün. :)

Ali

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