arch - centrino?[OT - narzekania]
Artur Flinta
aflinta w at.kernel.pl
Pią, 18 Cze 2004, 21:05:20 CEST
W liście z pią, 18-06-2004, godz. 20:47 +0200, Cezary Krzyżanowski
napisał(a):
> Wiedziałem Andrzejku, że będziesz musiał :> To teraz przemnóż sobie te 3
> jebane operacje różnicy * 3GHz (czyli na oko 3.000.000) * powiedzmy 4
> potoki no i dodajmy do tego jeszcze jakąś część operacji realizowanych w
> tym czasie przez sterowniki DMA itd...W ogóle generalnie nie
> otpymalizujmy kodu..samo się zrobi, prawda ?? Piszmy takie szmiry, jak
> int a =5; for(int b = a; int c = a < int d = 20; int e=0++){}; itd... Ja
> rozumiem Andrzejku, że zatrzymałeś się dawno temu, jak jeszcze było 386,
[...]
> wykorzystywał 32, czyli tak delikatnie połowa....Nie optymalizujmy,
> piszmy fatalne sterowniki, fatalne biblioteki, na kótrych ludzie napiszą
> fatalne interfejsy, a "programiści" po bankowości i zarządzaniu z jakimś
> auto-builderem napiszą sobie potem takiego Windowsa na takiej wielkej
> wieży fatalnie napisanych bibliotek, których mechaniki nawet nie znają
> pobierznie i potem mamy "Hello world" na erkanie za 2 MB ramu...wypas...
I po co się tak denerwować? Nowe procki właśnie są tak robione, by łykać
nawet najbardziej chaotyczny kod. Okazuje się, że lepiej zaprojektować
taki procek niż wydać kupę kasy * ilość programów na optymalizację. Tak
naprawdę największą optymalizację uzyskuje się nie dodając opcje do
kompilatora, ale porządkując już struktury we własnym programie i
odpowiednio dobierając ich rozmiar by pasowały do wielkości i
organizacji pamięci cache. Niestety taka optymalizacja ma dosyć istotną
wadę, jest nieprzenośna. Tak więc trzeba by pisać ten sam kod na kilka
wersji tego samego procka, np. Itanium 1,4GHz z 1MB cache vs. Itanium
1.4GHz z 6MB cache :) nie mówiąc już o próbie dostosowanie tego kodu
potem na Athlona (3 albo nawet 4 wersje rdzenia) czy też pentium 4 z
podobnym bogactwem rdzeni :).
Pozdrawiam
Artur
--
Zawsze kiedy jest problem, jest jakieś rozwiązanie;
zatem jeśli nie ma rozwiązania, nie ma problemu.
Więcej informacji o liście dyskusyjnej pld-devel-pl