[Gelistirici] Smash that stack harder aka Pardus 2008 C(XX)FLAGS
Onur Küçük
onur at pardus.org.tr
3 Şub 2008 Paz 21:35:35 EET
> > [1] http://cekirdek.pardus.org.tr/~onur/code/exectime_count.c
>
> Ben burda neden performans artışı oluyor anlamadım,
> char buf[128];
> veya char buf[11]
> veya sadece
> return strncmp("1234567890", "1234", 4);
>
> ile hep aynı sonuçları alıyorum süre olarak. Tam süre her denemede
> biraz dalgalanıyor,
> ama minimumları aynı.
> gcc -O2 -D_FORTIFY_SOURCE=2 ile.
>
> Merat ettim birşey mi kaçırıyorum, neden buf[128] daha hızlı çalışsın
> ki, ortada bellek/cpu hızını ilgilendiren bir kıstas yok. Ne kadar
> bellek kullanılırsa kullanılsın strcpy 11, strncmp 4 karakter sonra
> çalışmasını bitiriyor.
gcc 4.3 ile -fstack-protector açarak deneyin
Tahminim buf u 128 allocate etmek yerine 11 allocate edip bırakıyor.
Şu anda inceleyemiyorum, derlediğim sistem elimin altında değil ama
bilen varsa beri gelsin (ya da gcc -S çıktısını kıyaslasın :)
--
Onur Küçük Knowledge speaks,
<onur.--.-.pardus.org.tr> but wisdom listens
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi