Yazılan programlar dağıtılırken, yüklenen sitemde ihtiyaç duyacağı ne var ne yoksa birlikte paketleniyor, kurulum ve diskte kapladığı alanlarda saçma sapan bir büyüklüğe erişiyor. Örneğin programın pyhton ile bağlantısı varsa, sistemde kurulu olup olmadığına bakmadan genellikle kurulum klasörüne pyhton kuruyor. Çoğu uygulama bunu yapıyor, sistemde farklı klasörlerde birden fazla pyhton bulunuyor ve yer kaplıyor.
2006 yılında Delphi.NET şeklinde bir sürüm çıkardı sonradan arkası gelmedi. .Net ile Rad arasında geçmişte çıkan sürüm haricinde bir ilişki bulunmamaktadır. XE ile başlayan sürüm kodlarından itibaren klasik VCL uygulama geliştirme yanında FMX (Fire Monkey) multi platform (android, ios, macos, win32, win64, linux) geliştirme yapısıda eklendi.
Delphi ile geliştirilen standalone uygulamalar extra birşeye gerek kalmadan çalışabilirler, bunun nedeni ise çalışacağı sistemde ihtiyaç duyduğu / duyacağı sistem kütüphanelerini exe içine gömmesidir.
İşletim sistemlerinin gerek koştuğu şartlar veya extra sağladığı diğer imkanlarda zaman içerisinde değişmektedir, dolayısıyla eklenen kütüphanelerin boyutları artmaktadır. Oluşturulan exe içerisine minumum bu şartları karşılayan kütüphanelerinde eklenmesi gerekmektedir. Geriye doğru uyumluluk nedeniyle eskileri atmadan sürekli yeni şeyler eklemek, kütüphane boyutlarının artması demektir. Buda doğal olarak exe boyutlarını artırmaktadır.
Örneğin D7 ile yazılmış bir exe high-dpi bir ekranda açılığında font ve ikonlar çok küçük şekilde görünür yada metinler büyür, ikon ve buton gibi nesneler çok küçük kalır, modern rad ile oluşturulmuş exede ise bunlar otomatik olarak boyutlandırılır. Uygulamalarınızı 1080p veya daha düşük çözünürlükte kullanıyorsanız böyle bir ayrımın farkına varmamış olabilirsiniz. Eski programları 4K gibi yüksek çözünürlüklü ekranlarda, windows ölçeklendirme si %125 veya %200 gibi yüzde yüzden farklı bir ayarda kullandığınızda bu tip gariplikler ile karşılaşırsınız.
Geliştrime ortamından bağımsız form üzerinde bir image gösteriyorsanız, resmin boyutu kadar exe boyutu artacaktır.
Güncel Rad ile üzerinde hiçbirşey olmayan bir vcl uygulaması oluşturulduğunda exe boyutları şu şekilde.
| Debug | Release |
32 Bit Derleme | 11819 KB (Upx sıkıştırma ile 3016 KB) | 2367 KB (Upx sıkıştırma ile 789 KB) |
64 Bit Derleme | 13823 KB (Upx sıkıştırma ile 3359 KB) | 3759 KB (Upx sıkıştırma ile 1020 KB) |
Upx sıkıştırma exe boyutunu yaklaşık olarak üçte bir ile dörtte bir oranı kadar küçültmektedir.
Exe boyutları kabul edilebilir boyutta
. D7 ile yanlış hatırlamıyprsam boş form ile oluşturulan exeler 400..500 KB seviyelerindeydi.
22 yılda exe boyutu yaklaşık 5 katı kadar artmış demekki. Buda yazılım tarafında kodlardaki enflasyon
Hülasa işin özü;
Boyut artmasının bir nedeni, doğal olarak teknolojinin gelişmesi, geriye doğru uyumluluk nedeniyle sürekli üzerine koyarak kütüphane ve sistemlerin boyutunun artması.
Diğer bir neden ise yazılımcıların veya geliştirme ortamlarının "güvenli tarafta kalmak için" artık buna çok dikkat etmemesi / umursamaması. Haricen kullanılan binlerce dosyadan oluşan bir kütüphane paketinden bir veya iki dosya kullanıldı, geriye kalan 998 dosyayıda ne olur ne olmaz diye ekle düşüncesi