-
Data: 2009-05-20 17:44:43
Temat: Re: jak napisać szybki program
Od: Marteno Rodia <m...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> > albo co jest szybsze: int array[10] czy int *array = new int[10].
>
> Pierwsze to alokacja na stosie, drugie na tzw. stercie (dynamic storage)
> Ogólna zasada przy optymalizacji, to im mniej alokacji pamięci
> tym lepiej. Alokacja to wolna operacja.
Super. To teraz inne pytanie: jakie są (relatywnie szybkie w wykonaniu
czy raczej wolne) operacje dostępu do bitów?
Innymi słowy: potrzebuję przechować 100 trójek liczb całkowitych (a,
b, c), ale niewielkich, np. na a i b wystarczy po 12 bitow, a na c - 8
bitów. Te 3 liczby są jakoś semantycznie związane, więc warto, żeby
były "w kupie". Co jest szybsze?
a) używanie struktury
struct Tripple { int a; int b; int c}
olewając jednocześnie marnotrawstwo pamięci.
b) używanie struktury j.w. ale z typami short
c) używanie jednego integera do zapisu 3 liczb na różnych jego bitach
(2*12+8=32), tak że:
a = (liczby >>20) & 0xFF;
b = (liczby >> 8) & 0xFF;
c = liczby & 0xFF;
Co byście proponowali?
MR
Następne wpisy z tego wątku
- 20.05.09 18:23 Michoo
- 20.05.09 18:31 Marcin 'Qrczak' Kowalczyk
- 21.05.09 02:23 Mariusz Marszałkowski
- 21.05.09 03:26 Mariusz Marszałkowski
- 21.05.09 03:51 Mariusz Marszałkowski
- 21.05.09 03:57 Mariusz Marszałkowski
- 21.05.09 06:35 Jacek Czerwinski
- 21.05.09 09:50 Paweł Kierski
- 21.05.09 13:20 Marcin 'Malcom' Malich
- 21.05.09 16:07 Mariusz Marszałkowski
- 21.05.09 16:58 Marcin 'Malcom' Malich
- 21.05.09 20:20 Mariusz Marszałkowski
- 21.05.09 21:04 Jacek Czerwinski
- 21.05.09 21:55 Mariusz Marszałkowski
- 23.05.09 21:59 Maciej Sobczak
Najnowsze wątki z tej grupy
- 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
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-06-10 wyobrazcie sobie ze
- 2024-06-10 malowanie samochodu
- 2024-06-10 News from Poland
- 2024-06-10 Czy na pewno będą CŁA na chińskie samochody?
- 2024-06-09 Dlaczego w Polsce sie nic nie udaje, na przykładzie niebieskiego lasera a teraz perskowitów
- 2024-06-09 Dlaczego w Polsce sie nic nie udaje, na przykładzie niebieskiego lasera a teraz perskowitów
- 2024-06-09 Wykrywanie przerwy w długim przewodzie zakopanym w ziemi.
- 2024-06-09 Czemu news.chmurka.nwt jest taki wolny?
- 2024-06-11 Funbox 3.0 zakres adresów DHCP
- 2024-06-11 Re: Funbox 3.0 zakres adresów DHCP
- 2024-06-09 Miernik szybkości netu
- 2024-06-11 Panele PV w pionie (prawie).
- 2024-06-11 czy ta grupa żyje?
- 2024-06-11 Warszawa => Senior React Native Developer <=
- 2024-06-11 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=