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