-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: bartekltg <b...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Algorytmiczny problem lamera... :-)
Date: Sun, 12 Oct 2014 01:17:57 +0200
Organization: ATMAN - ATM S.A.
Lines: 82
Message-ID: <m1cdr5$18m$1@node1.news.atman.pl>
References: <1...@g...com>
<m0s8le$lfc$1@node2.news.atman.pl>
<4...@g...com>
<m18osf$4gt$1@node1.news.atman.pl>
<2...@g...com>
NNTP-Posting-Host: 89-73-81-145.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1413069477 1302 89.73.81.145 (11 Oct 2014 23:17:57 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sat, 11 Oct 2014 23:17:57 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101
Thunderbird/31.1.2
In-Reply-To: <2...@g...com>
Xref: news-archive.icm.edu.pl pl.comp.programming:206734
[ ukryj 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
- 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-27 Re: Prywatny parking? Pierwsze 10 minut bezplatnie
- 2024-06-27 A co mnie to koooorwa obchodzi?
- 2024-06-28 nawigacja satelitarna
- 2024-06-28 SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- 2024-06-27 położyłem kafelki
- 2024-06-28 Łódź => International Freight Forwarder <=
- 2024-06-28 Łódź => Spedytor Międzynarodowy <=
- 2024-06-28 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-06-28 Sopot => Team Leader E-Commerce for Foreign Markets <=
- 2024-06-28 Warszawa => Senior React Native Developer <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=
- 2024-06-28 Warszawa => Software .Net Developer <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=
- 2024-06-28 Warszawa => Programista Full Stack .Net <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=