| |
 | Posted by Ali Çehreli (acehreli) in reply to anil | Permalink Reply |
|
Ali Çehreli (acehreli) 
| 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. ]
|