eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingmatlab taki wydajny? › Re: matlab taki wydajny?
  • Path: news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.nask.pl!
    news.nask.org.pl!news.uni-stuttgart.de!news.belwue.de!newsfeed01.sul.t-online.d
    e!t-online.de!proxad.net!feeder1-2.proxad.net!74.125.46.134.MISMATCH!postnews.g
    oogle.com!k17g2000yqh.googlegroups.com!not-for-mail
    From: thrunduil <t...@w...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: matlab taki wydajny?
    Date: Thu, 21 Jan 2010 10:21:03 -0800 (PST)
    Organization: http://groups.google.com
    Lines: 39
    Message-ID: <2...@k...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>
    NNTP-Posting-Host: 217.67.217.10
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1264098063 32354 127.0.0.1 (21 Jan 2010 18:21:03 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Thu, 21 Jan 2010 18:21:03 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: k17g2000yqh.googlegroups.com; posting-host=217.67.217.10;
    posting-account=6ttYWAoAAADmQjmExCaJ1sgehejgVwII
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0;
    GTB6; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR
    3.5.30729),gzip(gfe),gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:184551
    [ ukryj nagłówki ]

    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];

    (VS, /Ox /Oi /Ot /GL /I \Projects\test\test" /D "WIN32" /D "NDEBUG" /D
    "_CONSOLE" /D "_UNICODE" /D "UNICODE" /FD /EHsc /MD /Gy /arch:SSE2 /
    Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /nologo /c /Zi /TP /
    errorReport:prompt )

    co to ma pokazywac oprocz tego, ze pamiec ma znaczenie? Blad w kodzie
    nie zmienia liczby wykonanych operacji.

    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.

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: