eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingmatlab taki wydajny? › Re: matlab taki wydajny?
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: