-
Data: 2012-01-30 10:31:27
Temat: Re: cache friendly
Od: " M.M." <m...@g...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]<f...@N...gazeta.pl> napisał(a):
> na czym polega pisanie cache friendly?
Stosuje tylko bardzo proste zasady, bez wnikania w
szczegoly, a przyspieszenie bywa ogromne, rzedu 10-30 razy.
Ladnie to widac na mnozeniu macierzy. Operacje sa proste,
bo tylko mnozenie i dodawanie, ale pamieci duzo. Wiec przerzuty
pomiedzy poziomami cache moga byc waskim gardlem.
Generalnie jesli sa np. dwie tablice:
typ1 tab1[N];
typ2 tab2[N];
I przewidujesz ze zaraz po obliczeniu na tab1[i] program bedzie
wykonywal obliczenia na tab2[i], to lepiej upakowac w strukture:
struct X {
typ1 t1;
typ2 t2;
} tab[N];
Jesli obliczenia zaczynaja sie od t2, to lepiej odwrocic kolejnosc:
struct X {
typ2 t2;
typ1 t1;
} tab[N];
Generalnie dane ukladamy tak, aby program nie musial skakac na wpol
losowo po duzej przestrzeni adresowej, ale zeby mogl pracowac w
miare sekwencyjnie.
Pozdrawiam
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 30.01.12 12:19
- 31.01.12 02:46 M.M.
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-21 Warszawa => Key Account Manager IT <=
- 2025-02-21 Warszawa => Data Engineer (Tech Lead) <=
- 2025-02-21 Aliexpress zaczął oszukiwać na bezczelnego.
- 2025-02-21 Warszawa => System Architect (Java background) <=
- 2025-02-21 Kula w łeb
- 2025-02-21 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-21 Warszawa => Solution Architect (Java background) <=
- 2025-02-21 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-02-21 Pawel S
- 2025-02-21 Warszawa => Key Account Manager (Usługi HR) <=
- 2025-02-21 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-21 Chrzanów => Programista NodeJS <=
- 2025-02-21 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-21 Warszawa => Administrator Systemów Windows IT <=
- 2025-02-21 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=