-
Data: 2014-10-12 01:17:57
Temat: Re: Algorytmiczny problem lamera... :-)
Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 11.10.2014 10:07, M.M. wrote:
> On Friday, October 10, 2014 4:01:50 PM UTC+2, bartekltg wrote:
>> Też tak początkowo podejrzewałem, ale kod sugerował przetwarzanie
>> pojedynczej listy.
> Tak tak. Specjalnie się "czepiam", poniewaz czesto staje przed
> problemem dwuznacznosci w specyfikacjach.
Kryształowa kula jest niezbędnym wyposażeniem.
>> Tego chyba nikt nie napisze nawet, jak tam będzie vector.
>> Sensu za dużo nie ma;-)
> O 1000zł bym się nie założył, ale o 100zł mogę się założyć, że iterowanie
> po wyjętym wcześniej wskaźniku będzie dużo szybsze niż po indeksie. W QT
> gwarancję że to się uda daje QVector. W Standardowej nie wiem czy można.
Ale po co, skoro masz iterator. On się rozwija w przypadku vector
do gołego wskaźnika, a nie trzeba uprawiać partyzantki*).
GCC przy 03 i wersję z indeksem przerabia na tak samo szybką,
na O2 widzę kilka procent narzutu.
Test, pomijając szczegóły, taki:
int test1(const vector<int> &tab)
{
int acu=0;
for (size_t i=0;i<tab.size();i++)
acu+=tab[i];
return acu;
}
int test2(const vector<int> &tab)
{
int acu=0;
for (auto it = tab.begin();it!=tab.end();++it)
acu+=*it;
return acu;
}
int test3( vector<int> &tab)
{
int acu=0;
for (int *p = &(tab[0]); p<=&(tab.back()); ++p )
acu+=*p;
return acu;
}
Czasy przy O3:
ind iter ptr
0.580365s 0.5802s 0.574878s
0.573168s 0.580003s 0.570412s
0.576243s 0.595382s 0.598803s
0.583383s 0.605905s 0.574091s
0.559924s 0.570881s 0.56386s
0.565881s 0.570138s 0.567056s
0.566698s 0.572243s 0.593708s
0.583027s 0.579597s 0.582566s
0.576352s 0.57665s 0.570913s
0.577967s 0.578482s 0.57333s
czasy przy O2:
ind iter ptr
1.01675s 0.919716s 0.918818s
0.998275s 0.914182s 0.915593s
0.989508s 0.908565s 0.911251s
0.998609s 0.90728s 0.914902s
1.0199s 0.95588s 0.894817s
1.00836s 0.914023s 0.907522s
0.995177s 0.926149s 0.920606s
0.989913s 0.904324s 0.919234s
1.00331s 0.915149s 0.913598s
0.997118s 0.913398s 0.900119s
Ogolna różnica między 2 a 3 wynika z rozwijania pętli.
pzdr
bartekltg
Następne wpisy z tego wątku
- 12.10.14 02:31 M.M.
- 12.10.14 12:52 M.M.
- 12.10.14 12:53 bartekltg
- 12.10.14 13:39 M.M.
- 12.10.14 17:25 bartekltg
- 12.10.14 19:53 M.M.
- 12.10.14 21:03 bartekltg
- 12.10.14 22:03 M.M.
- 24.10.14 10:55 m...@g...com
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-16 deltaT w pompie ciepla
- 2025-07-16 dron na granicy polsko niemieckiej
- 2025-07-16 Warszawa => Senior IT Recruitment Consultant <=
- 2025-07-16 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-16 Gdańsk => Delphi Programmer <=
- 2025-07-16 Warszawa => BI Developer <=
- 2025-07-16 Gdańsk => Programista Delphi <=
- 2025-07-16 chroń PESEL dziecka
- 2025-07-16 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-16 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-16 Kraków => Kotlin Developer <=
- 2025-07-16 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-16 Tadeusz Rolke RIP
- 2025-07-14 Dwa dylematy
- 2025-07-14 Re: Dwa dylematy