Elinize sağlık hocam...
Kuşkusuz biz programcılara yakışan en iyi cevap bu olmalı. Peki bir de ilk ve son elemanın adreslerine bakarak başka bilgiler edinebilir miyiz? Aşağıdaki sonuçlara göre bu mümkün görünüyor. Sanki 1K'dan (256*int32) sonra, veriyi, taşıma olasılığını düşürmek için genişletebileceği daha boş bir alana kopyalıyor öyle değil mi?
: : :
writeln("ilk/Son Adresi Uzunluk Kapasite Artis");
while (dizi.capacity < 1024<<10) {
dizi ~= 0;
if (dizi.capacity != sonYazılanKapasite) {
// Kapasite artmış
sonYazılanKapasite = dizi.capacity;
double artış = (cast(double)dizi.capacity / dizi.length * 100) - 100;
writefln("%s/%s%10s%10s %%%s", &dizi[0], &dizi[$-1],
dizi.length, sonYazılanKapasite, cast(size_t)artış);
}
}
'İlk/Son Adresi Uzunluk Kapasite Artış
1151FC0/1151FC0 1 3 %200
1152FA0/1152FAC 4 7 %75
1153F40/1153F5C 8 15 %87
1150F00/1150F3C 16 31 %93
1154F00/1154F7C 32 63 %96
1155E00/1155EFC 64 127 %98
1156C00/1156DFC 128 255 %99
1157800/1157BFC 256 511 %99
1D30010/1D3080C 512 1019 %99
1D30010/1D30FFC 1020 2043 %100
1D30010/1D31FFC 2044 4091 %100
1D30010/1D33FFC 4092 7163 %75
1D30010/1D36FFC 7164 12283 %71
1D30010/1D3BFFC 12284 16379 %33
1D30010/1D3FFFC 16380 17403 %6
1D30010/1D40FFC 17404 27643 %58
1D30010/1D4AFFC 27644 32763 %18
1D30010/1D4FFFC 32764 33787 %3
1D30010/1D50FFC 33788 53243 %57
1D30010/1D63FFC 53244 65531 %23
1D30010/1D6FFFC 65532 66555 %1
1D30010/1D70FFC 66556 101371 %52
1D30010/1D92FFC 101372 114683 %13
1D30010/1D9FFFC 114684 115707 %0
1D30010/1DA0FFC 115708 176123 %52
1D30010/1DDBFFC 176124 180219 %2
1E30010/1EDFFFC 180220 270331 %50
1E30010/1F37FFC 270332 278523 %3
2030010/213FFFC 278524 409595 %47
2030010/21BFFFC 409596 410619 %0
2030010/21C0FFC 410620 604155 %47
2030010/227DFFC 604156 606203 %0
2290010/24DFFFC 606204 879611 %45
2290010/25EAFFC 879612 884731 %0
2290010/25EFFFC 884732 885755 %0
2290010/25F0FFC 885756 1285115 %45'
Ayrıca döngü uzunluğunu arttırınca sık sık %0'lar ile ve gittikçe seyrekleşen (ve düşen!) %45-%35... arası değerler ile karşılaşıyoruz. Burada çok akıllıca bir algoritma olduğunu seziyorum!
Başarılar...
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]