[Gelistirici] Pisi delta iyileştirmeleri

Gürer Özen gurer at pardus.org.tr
4 Şub 2009 Çar 16:34:58 EET


On Wednesday 04 February 2009 13:54:00 Faik Uygur wrote:

> > 1- Yeniden derlenen iki binary'nin, kaynak kodunun değiştiği için mi
> > yoksa sadece yeniden derlendiği için mi farklı olduğunu kestirebilir
> > miyiz?

Sadece yeniden derlendiği için binary dosyanın değişmesi gibi bir durum söz 
konusu olamaz. Değişimin sebebi olarak aklıma gelen nedenler:

1. Dosyalara inşa sırasında dahil olan timestamp ler

Pisi mesela .a dosyaları içindeki timestampleri otomatik yok ediyor. Timestamp 
otomatik olarak konan bir şey değil. Ancak, mesela

puts("Hede v0.1 built on "__DATE__" "__TIME__);

gibi bir kod falan varsa programda, gcc bu makroları her derlemede 
değiştiriyor ve otomatik olarak müdahale etmek mümkün değil. Fakat bu tip 
şeyler çok nadir karşılaşılıyor. Çok sorun olursa basit bir yama ile 
kapatılabilir bile.

2. İnşa sırasında dahil edilen dış kaynaklı dosyalar

Mesela svn'den yada netten bir dosyanın güncel halini çekebilir. Bu da çok 
nadir karşılaşılan ve mümkünse yapılmaması gereken bir pratik.

3. Değişen compiler

Daha iyi kod üretmiş olacağı için bu durumda yeni binary'yi isteyeceğiz zaten.


> Mümkündür. İlk delta paketini xdelta ile yapmaya başlamıştık.
> Şu anki delta paket yapımız performans olarak da çok
> çok iyi. Tek yaptığı dosyaları sisteme açmak.

Evet Faik'in de açıkladığı gibi performans önemli bir faktör. Az bir dosya 
boyutu tasarrufu için paket kurulum süresini uzatmamalıyız. Kullanıcı 
bilgisayarlarının düşük hızlı ve az disk kapasiteli olabileceğini de hesaba 
katmak lazım.



Gelistirici mesaj listesiyle ilgili daha fazla bilgi