eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingBCB Moj ulubiony kod;)Re: BCB Moj ulubiony kod;)
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!new
    s.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.
    dca.giganews.com!nntp.giganews.com!postnews.google.com!z19g2000yqk.googlegroups
    .com!not-for-mail
    From: Mariusz Marszałkowski <m...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: BCB Moj ulubiony kod;)
    Date: Fri, 19 Feb 2010 14:41:24 -0800 (PST)
    Organization: http://groups.google.com
    Lines: 73
    Message-ID: <f...@z...googlegroups.com>
    References: <hkneu1$1se$1@mx1.internetia.pl>
    <d...@1...googlegroups.com>
    <hkop6l$s9s$1@news.onet.pl> <hkoq0a$gni$1@news2.ipartners.pl>
    <hkq2et$gj7$1@mx1.internetia.pl> <hkqr8b$6st$1@news.onet.pl>
    <hkv1ds$91t$1@news.onet.pl> <hkvcct$f6m$1@news.onet.pl>
    <hl0d9e$120$1@inews.gazeta.pl> <hlj0op$tl5$1@news.onet.pl>
    <7...@f...googlegroups.com>
    <hln0uf$sf1$1@news.onet.pl>
    NNTP-Posting-Host: 89.229.16.190
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1266619284 31324 127.0.0.1 (19 Feb 2010 22:41:24 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Fri, 19 Feb 2010 22:41:24 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: z19g2000yqk.googlegroups.com; posting-host=89.229.16.190;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.2; pl; rv:1.9.2)
    Gecko/20100115 Firefox/3.6,gzip(gfe),gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:184937
    [ ukryj nagłówki ]

    On 19 Lut, 22:48, Michoo <m...@v...pl> wrote:
    > Mariusz Marszałkowski pisze:
    >
    >
    >
    > > On 18 Lut, 10:20, Qbab <b...@p...onet.pl> wrote:
    > >> W dniu 2010-02-11 08:57, Wojciech "Spook" Sura pisze:
    >
    > >>> Bastion wrote:
    > >>>> Kolego, ja tak nie pisze tylko przedstawiam rozwiazanie pewnego
    > >>>> problemu. Laskawie pochyl glowe i zastanow sie jak w 5 linijkach kodu
    > >>>> lepiej mozna zwizualizowac rozwiazanie. Czekam na kod...
    > >>> Zacznijmy od tego, że nawet nie zabierałbym się do projektowania aplikacji
    > >>> myśląc panicznie, żeby zmieścić się w n linijkach. Płacisz podatek od każdej
    > >>> napisanej linii kodu? Jeśli radość sprawia Ci upychanie programu w
    > >>> niewielkiej przestrzeni, to raczej wyślij Twój pomysł na IOCCC niż chwal się
    > >>> na grupach.
    > >> Pamiętam czasy gdy upychanie kodu wynikało z konieczności, czasem
    > >> upychało się dwie zmienne w jednym bajcie bo z góry wiedziało się ile
    > >> bitów zajmą maksymalnie. Ale tego nie zrozumie nikt kto nie startował w
    > >> czasach gdy komputery miały mniej niż 64 kilobajty pamięci :)
    >
    > > Koniecznosc upychania danych w bity jest caly czas akualna. Oczywiscie
    > > tylko tam, gdzie wazna jest wydajnosc. Propoponuje zmierzenie czasu
    > > wykonania tego kodu dla roznych wielkosci S. Parametr N zostaje taki
    > > sam, wiec ilosc operacji nie ulega zmianie, zmianie ulega tylko
    > > rozmiar
    > > danych. Duze S oznacza dane nie upakowane, male S oznacza dane
    > > upakowane do malej tablicy.
    >
    > Tu czytasz dane i to w najgorszy możliwy sposób - dostęp losowy. Odwrócę
    > kota ogonem - na 8 Xeonach:
    > $time ./kolo_siebie
    > real    0m16.903s
    > user    1m52.579s
    > sys     0m0.188s
    > $ time ./oddalone
    > real    0m1.955s
    > user    0m7.848s
    > sys     0m0.000s
    >
    > To jest dokładnie ten sam kod, ale w jednym wypadku dane upakowane i
    > false-sharing daje o sobie znać, w drugim nie.

    Nie wiem czy rozumiem, ten sam kod w wielu watkach?

    Chcialem przypomniec troche inny fakt, a mianowicie ze
    tej szybkiej pamieci w nowoczesnych komputerach nadal jest znacznie
    mniej niz pamieci w ogole. Jesli algorytm nie dobiera sie do danych
    sekwencyjnie, to caly czas najlepiej upakowac wszystkie dane tak,
    aby zmiescily sie w niezbyt duzej pamieci cache.

    W przypadku przetwarzania wieloprocesorowego sprawa komplikuje sie
    jeszcze bardziej. Idealnie jesli kazdy watek moze miec swoja lokalna
    kopie
    danych, ale to nie jest zawsze mozliwe.

    Pozdrawiam






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: