-
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
Następne wpisy z tego wątku
- 19.02.10 22:58 Michoo
- 19.02.10 22:59 Bastion
- 19.02.10 15:03 Wojciech Muła
- 19.02.10 23:18 Bastion
- 19.02.10 23:21 Bastion
- 20.02.10 00:03 Jędrzej Dudkiewicz
- 20.02.10 00:14 Jędrzej Dudkiewicz
- 20.02.10 04:31 Mariusz Marszałkowski
- 20.02.10 23:51 Bastion
- 25.02.10 22:22 Bastion
- 25.02.10 22:33 Bastion
- 25.02.10 23:00 Bastion
- 25.02.10 23:37 Jacek Czerwinski
- 26.02.10 18:05 Michoo
- 26.02.10 21:56 Bastion
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=