-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: " M.M." <m...@g...pl>
Newsgroups: pl.comp.programming
Subject: Re: cache friendly
Date: Mon, 30 Jan 2012 10:31:27 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 38
Message-ID: <jg5rhv$ahm$1@inews.gazeta.pl>
References: <jg5net$qmn$1@inews.gazeta.pl>
NNTP-Posting-Host: localhost
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1327919487 10806 172.20.26.243 (30 Jan 2012 10:31:27 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Mon, 30 Jan 2012 10:31:27 +0000 (UTC)
X-User: mariotti
X-Forwarded-For: 89.229.34.123
X-Remote-IP: localhost
Xref: news-archive.icm.edu.pl pl.comp.programming:194932
[ ukryj 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
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-25 Wrocław => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2024-12-25 Warszawa => Sales Assistant <=
- 2024-12-25 Kraków => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-25 Lublin => System Architect (Java background) <=
- 2024-12-25 Szczecin => Specjalista ds. public relations <=
- 2024-12-25 Wrocław => Key Account Manager <=
- 2024-12-25 Kraków => Full Stack .Net Engineer <=
- 2024-12-25 Kraków => Programista Full Stack .Net <=
- 2024-12-25 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-25 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-25 Białystok => Delphi Programmer <=
- 2024-12-25 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-12-25 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2024-12-25 Mińsk Mazowiecki => Spedytor Międzynarodowy <=
- 2024-12-24 Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie