-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!lub
lin.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!bor
der2.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!post
news.google.com!u41g2000yqe.googlegroups.com!not-for-mail
From: bartekltg <b...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: matlab taki wydajny?
Date: Thu, 21 Jan 2010 12:25:11 -0800 (PST)
Organization: http://groups.google.com
Lines: 53
Message-ID: <3...@u...googlegroups.com>
References: <5...@a...googlegroups.com>
<6...@1...googlegroups.com>
<9...@k...googlegroups.com>
<7...@g...googlegroups.com>
<e...@2...googlegroups.com>
<0...@m...googlegroups.com>
<5...@c...googlegroups.com>
<2...@k...googlegroups.com>
NNTP-Posting-Host: 82.210.189.188
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1264105511 16100 127.0.0.1 (21 Jan 2010 20:25:11 GMT)
X-Complaints-To: g...@g...com
NNTP-Posting-Date: Thu, 21 Jan 2010 20:25:11 +0000 (UTC)
Complaints-To: g...@g...com
Injection-Info: u41g2000yqe.googlegroups.com; posting-host=82.210.189.188;
posting-account=CvUQzQoAAABvVQmR58QmR6N4Cev1qhAS
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.7)
Gecko/20091221 Firefox/3.5.7 (.NET CLR
3.5.30729),gzip(gfe),gzip(gfe)
X-Original-Bytes: 3572
Xref: news-archive.icm.edu.pl pl.comp.programming:184555
[ ukryj nagłówki ]On 21 Sty, 19:21, thrunduil <t...@w...pl> wrote:
> On 21 Sty, 16:10, bartekltg <b...@g...com> wrote:
>
> > To nie ma nic wspolnego z pamiecia, przynajmniej nie tak, jak
> > sugerujesz.
> > Jesli by mialo, to moj prosty kod (podany na koncu) tez by mizernie
> > dzialal.
> > Ale on nie chec, 1000 roznych mnozen wektorka dlugosci 1000
> > przez macierz 1000x1000 liczy w niecale 6s.
>
> nie do konca rozumiem:
> Matlab: A * B =>
> 0.18sec
> Matlab: for i:1000; A*v; end => 1.84sec
> kod c for i:1000; A*v; end, wersja bledna => 1,33 sec
> kod c for i:1000; A*v; end, wersja poprawna => 7.00 sec
>
> A = 1000x1000, B = 1000x1000; v =1000x1
>
> jest blad w kodzie, ma byc
> t+=v[i]*M[j+n*i]; zamiast t+=v[i]*M[j+2*i];
O kurde, jaki wstyd przed ryskiem;/
Wersja poprawione idzie u mnie prawie 50s.
Ale w koncu uwierzylem w portege matlaba;)
Pozostaje pytanie, dlaczego Mariuszowi wychodzilo szybiej.
> co to ma pokazywac oprocz tego, ze pamiec ma znaczenie? Blad w kodzie
> nie zmienia liczby wykonanych operacji.
rzeczywiscie, masz racje, latam tam po obszarze pamieci
3000*8 a nie 10^6*8 i to jedyna roznica.
> zreszta
> dla A = 3000x1000; B =1000x1000; v = 1000x1
> Matlab: A * B =>
> 0.537sec
> Matlab: for i:1000; A*v; end => 5.33sec
>
> W obu wersjach mnozenie przez wektor w petli jest 10x wolniejsze.
> Petla jest wykonywana 1000 razy, wiec roznica nie moze miec
> nic wspolnego z narzutem petli.
pozdrawiam
bartekltg
Następne wpisy z tego wątku
- 21.01.10 20:31 bartekltg
- 21.01.10 20:45 Mariusz Marszałkowski
- 21.01.10 21:08 Wit Jakuczun
- 21.01.10 22:10 Mariusz Marszałkowski
- 22.01.10 09:05 lolo
- 22.01.10 09:15 Mariusz Marszałkowski
- 22.01.10 09:34 bartekltg
- 22.01.10 09:45 thrunduil
- 22.01.10 15:20 Mariusz Marszałkowski
- 23.01.10 09:11 Mariusz Marszałkowski
- 23.01.10 09:34 Wit Jakuczun
- 23.01.10 09:42 Mariusz Marszałkowski
- 23.01.10 09:57 Wit Jakuczun
- 23.01.10 09:58 Mariusz Marszałkowski
- 24.01.10 10:23 thrunduil
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-14 Będziemy się znowu zrzucać na elektryki...
- 2024-05-14 Pompa ciepla Kaisai
- 2024-05-14 Przyłączenie działki do sieci elektrycznej
- 2024-05-14 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2024-05-14 Kraków => SAP WM Consultant / Execution <=
- 2024-05-14 Wrocław => Business Development Manager - obszar bezpieczeństwa IT <
- 2024-05-14 Poznań => Interactive/Experience Designer <=
- 2024-05-14 Poznań => Interactive/Experience Designer <=
- 2024-05-14 Białystok => ERP Implementer <=
- 2024-05-14 Przerabianie na Indonezje
- 2024-05-14 Kielce => UX/UI Designer <=
- 2024-05-14 Warszawa => Sales Representative for Outsourcing Services <=
- 2024-05-14 Prowadzenie działalności za kogoś - to legalne?
- 2024-05-14 nieletni na plaży naturystów
- 2024-05-13 Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki