-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: " M.M." <m...@N...gazeta.pl>
Newsgroups: pl.comp.programming
Subject: Re: dalsza optymalizacja
Date: Sun, 1 Apr 2012 11:58:46 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 57
Message-ID: <jl9ftm$j00$1@inews.gazeta.pl>
References: <jl73ie$b6f$1@inews.gazeta.pl> <jl9aaf$326$1@inews.gazeta.pl>
<jl9al3$ee7$1@inews.gazeta.pl> <jl9dfl$a80$1@inews.gazeta.pl>
<jl9e7f$epj$1@node2.news.atman.pl>
NNTP-Posting-Host: localhost
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1333281526 19456 172.20.26.236 (1 Apr 2012 11:58:46 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sun, 1 Apr 2012 11:58:46 +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:196500
[ ukryj nagłówki ]bartekltg <b...@g...com> napisał(a):
> W dniu 2012-04-01 13:17, M.M. pisze:
>
> >
> > JeĹli juĹź tak optymalizujesz, to powiedz mi czy warto zamieniÄ
> > obliczenia z typu double na inta? W programie jest macierz kwadratowa.
> > MieĹci siÄ ona w caĹoĹci L2. Powiedzmy Ĺźe do losowych elementĂłw tej
> > macierzy dodajÄ jedynki, coĹ w rodzaju:
> >
> > for( doĹÄ duĹźo pÄtli )
> > macierz[ compute_row() * col_size + compute_col() ] ++ ;
> >
> > Koszt wykonania compute_row i comute_col jest bardzo maĹy.
> > Potem inne obliczenia muszÄ byÄ przeprowadzane na typie double, ale
> > ta inkrementacja moĹźe byÄ wykonana na typie int. Warto zadeklarowaÄ
> > drugÄ macierz typu int i potem przekopiowaÄ do typu double? Czy
> > moĹźe operacje inc na typie double sÄ rĂłwnie szybkie?
>
>
>
> Dobrze rozumiem, chcesz
>
> x<-x+1
>
> zamieniÄ na
>
> i<-int(x)
> i<-i+1
> x<-double(i)
>
> MusiaĹyby siÄ dziaÄ cuda, aby to byĹo szybsze (czy juĹź
> jedna konwersja nie bÄdzie dĹuĹźsza niĹź dodanie?)
> ale po prostu sprawdĹş.
Raczej tak:
double x[1000];
for( i=0 ; i<1000000 ; i++ )
x[rand()%size] ++;
Na:
int tmp[1000];
for( i=0 ; i<1000000 ; i++ )
tmp[rand()%size] ++;
double x[1000];
for( i=0 ; i<1000 ; i++ )
x[i] = (double)tmp[i];
Dłuższe obliczenia na intach i potem jedna konwersja na doubla.
Problem w tym że obliczenia na intach są trywialne, tylko inkrementacja.
Pozdrawiam
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 01.04.12 13:59
- 01.04.12 14:20 bartekltg
- 01.04.12 14:21 bartekltg
- 01.04.12 15:07 M.M.
- 01.04.12 15:10 M.M.
- 01.04.12 16:05 bartekltg
- 01.04.12 16:39 M.M.
- 01.04.12 16:44 bartekltg
- 01.04.12 18:06 M.M.
- 01.04.12 18:48 bartekltg
- 01.04.12 19:37 M.M.
- 01.04.12 19:51 bartekltg
- 01.04.12 20:12 bartekltg
- 01.04.12 20:50
- 01.04.12 20:53 M.M.
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-05-20 Fiat 125p wer. pikup - w PRL moszna było, w III Reczy [pospolitej] nie moszna
- 2024-05-19 Pożar salonu z chińskimi elektrykami
- 2024-05-18 LED
- 2024-05-19 ceny nieruchomości
- 2024-05-18 Szczecin => UX/UI Designer <=
- 2024-05-18 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-18 Warszawa => Software .Net Developer <=
- 2024-05-18 Warszawa => Mid/Senior QA Engineer <=
- 2024-05-18 Ulm => Solution Architect (sichere Kommunikation und IoT-Loesungen <=
- 2024-05-18 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-05-18 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-18 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-18 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=