Merhaba,
Hızlı çalışan ve iyi optimize edilmiş bir D Projesi üzerine çalışıyorum. Derleme sonucunda öyle MB'larca yer kaplayan bir binary dosya istemiyorum. Bu yüzden kodlamada gereken iyileştirmeleri yapmama rağmen, DMD'nin 2 MB. sınırına (aslında tam olarak 1991688 byte
) yanaştığını gördüm...
import ettiklerim sadece bu kadar:
import arsd.simpledisplay;
import std.algorithm;
import std.random;
Optimize (-O
) ederek derlemeye çalıştıysam da dosya boyutu (2012176 byte
) küçülmek yerine büyüdü, neden acaba? Üstelik -betterC
de kullanamıyorum çünkü Adam'ın modülleri buna imkan vermiyor:
arsd/color.d(140):
Error: `TypeInfo` cannot be used with -betterC
Ben de LDC deneyim dedim! Sonuç (4'de 1 katı) muazzam:
pico@enpi:~/Belgeler$ ldc2 -O -of"axial.out" axial.d arsd/color.d arsd/simpledisplay.d && ls -l --b=K axial.out | cut -d " " -f5
469K
pico@enpi:~/Belgeler$ ldc2 -version
LDC - the LLVM D compiler (1.24.0):
based on DMD v2.094.1 and LLVM 11.0.1
built with LDC - the LLVM D compiler (1.24.0)
Default target: x86_64-pc-linux-gnu
Host CPU: ivybridge
O yüzden sormak istedim; LDC kullanırsam (en azından proje sonunda) bana bir eksisi olur mu? DMD'nin (build v2.097.2) proje geliştirme sırasında avantajlarının farkındayım ama LDC ile arasındaki önemli olabilecek farklarını merak ediyorum.
Vee tabiiii, -O parametresi LDC'de çalışırken DMD'de neden çuvallamış olabilir?
Teşekkürler...