O SSE raz jeszcze
Michal Moskal
malekith w pld-linux.org
Czw, 27 Mar 2003, 23:04:27 CET
On Thu, Mar 27, 2003 at 10:43:17PM +0100, Tomasz Pala wrote:
> On Thu, Mar 27, 2003 at 22:36:42 +0100, Tomasz Kłoczko wrote:
>
> > > Dyski teraz tanie są, IMO się nie opłaca.
> >
> > Nie wo to chodzi. Przy -Os nie chdozi o odciażenie dysków tylko magistrali
> > do pamięci RAM. Kod skupiony w mneijszym obszarze ma szansę bycia
> > szybszym.
>
> W środowisku wielozadaniowym? Zapomnij, chyba że wywłaszczysz
> procesor... Ważniejsze jest wyeliminowanie wolnych zabaw na stosie, a że
> na rejestry wpływu nie mamy (poza eliminacją wskaźnika ramki) to
> pozostaje... wydłużenie kodu - jakieś unroll-loops etc.
Jeśli rozwiniesz pętle możesz wylecieć z cache. Cache miss to w tej
chwili do kilkadziesięciu, jeśli nie kilkuset cykli. Procesor baaardzo
długo pracuje nad jednym zadniem (jeśli jest taka potrzeba), do 1/100
sekundy (proszę się nie śmiać, to kilka(naście, dziesiąt) milionów cykli).
Przez taki czas cache spokojnie zdąży się rozgrzać.
> W przypadku nowego shedullera O(1) czy chociaż łatek preemptive/low
> latency przypuszczam, że będzie jeszcze mniejsza korelacja spadku
> wydajności wynikającej z obciążenia szyny pamięci z rozmiarem binarek.
>
> Ale to tylko swobodne dywagacje - jeśli ktoś dysponuje jakimikolwiek
> danymi testowymi to chętnie poczytam.
Co oczywiście wszystko nie zmienia faktu, że ludzie z GCC doskonale o
tym wszystkim wiedzą, i nie będą robić jakiś koszmarnych optymalizacji
brudzących cache :-) Więc chyba nie ma co się bawić z -Os.
--
: Michal Moskal ::::: malekith/at/pld-linux.org : GCS {C,UL}++++$ a? !tv
: PLD Linux ::::::: Wroclaw University, CS Dept : {E-,w}-- {b++,e}>+++ h
Więcej informacji o liście dyskusyjnej pld-devel-pl