Article View: pl.comp.lang.c
Article #267731Re: Ciemna strona C++
From: Sebastian Kaliszewski
Date: Thu, 15 Nov 2007 14:52
Date: Thu, 15 Nov 2007 14:52
32 lines
3228 bytes
3228 bytes
Marcin ‘Qrczak’ Kowalczyk wrote: >>>Python [...] >> >>>W szczególności [...] współbieżność >> >>Współbieżność? Chodzi Ci o to, że można uruchomić równocześnie dwa >>programy Pythona w osobnych procesach? :-) > > > Python ma biedne wątki, ale ma. Rozróżniaj współbieżność / concurrency > (kilka przepływów sterowania, z których więcej niż 1 się zaczyna zanim > któryś się skończy) od równoległości / parallelism (równoczesne > wykonywanie instrukcji kodu maszynowego wielu przepływów sterowania). > Drugie pojęcie jest podzbiorem pierwszego. Tak przy okazji... Coraz mocniej dochodzę do wniosku, że wątki do realizacji równoległości nadają się marnie, a przy nierównoległym concurrency lepsze byłoby coś, co nigdy nie jest równoległe. Dlaczego? Wątki w tej postaci w jakiej zwykle występują oznaczają złamanie zasady "You don't pay for what you don't use". Bo przy każdej alokacji i zwalnianiu muisz mieć conajmniej dostęp do TLS. Standardowy (w C++(0/1)x, dziś tr1) shared_ptr musi być synchronizowany. A Zwykle 95% obiektów nigdy między wątkami nie będzie przekazywanych. A ta synchronizacja kosztuje i to kosztuje dużo. Sporo do myślenia dała mi kiedyś wypowiedź gościa z jakiegoś brytyjskiego centrum superkompuetrowego, który stwoerdził, że przez 10 lat pracy nie widział ani jednego programu wielowątkowego. Równoległe rozwiązania wieloprocesowe, gdzie komunikacja między kontekstami przetwarzania jest ściśle wydzielona i gdzie jest zarządzanie całością jest sensownie realizowalne, są po prostu szybsze (i to o kilkadziesiąt procent). pzdr \SK
Technical Details
Message-ID:
<fhhlii$cg1$1@bozon2.softax.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!news.internetia.pl!newsfeed.tpinternet.pl!nemesis.news.tpi.pl!atlantis.news.tpi.pl!news.tpi.pl!bozon.softax.com.pl!not-for-mailReferences:
<fghgeo$spf$1@nemesis.news.tpi.pl> <fghsb4$kpq$1@news.dialog.net.pl> <fgo4c7$mtu$1@news.vectranet.pl> <20071106073039.433f4934@Vorago> <fgqn9m$74j$2@news.vectranet.pl> <618565031.20071107113041@pkierski.net> <fgt6sh$jov$1@news.vectranet.pl> <fgtb6j$nur$1@news.vectranet.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh2lj6$qkh$1@news.vectranet.pl> <fha3as$pap$1@bozon2.softax.pl> <fhag70$6kk$1@atlantis.news.tpi.pl> <fhag1b$9or$3@news.vectranet.pl> <1194912011.15035.13.camel@qrnik> <1194962417.690643.172410@v3g2000hsg.googlegroups.com> <1195078411.24656.6.camel@qrnik>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!news.internetia.pl!newsfeed.tpinternet.pl!nemesis.news.tpi.pl!atlantis.news.tpi.pl!news.tpi.pl!bozon.softax.com.pl!not-for-mail From: Sebastian Kaliszewski <s@get.it.off.to.reply.informa.pl> Newsgroups: pl.comp.lang.c Subject: Re: Ciemna strona C++ Date: Thu, 15 Nov 2007 15:52:33 +0100 Organization: Softax news server Lines: 32 Message-ID: <fhhlii$cg1$1@bozon2.softax.pl> References: <fghgeo$spf$1@nemesis.news.tpi.pl> <fghsb4$kpq$1@news.dialog.net.pl> <fgo4c7$mtu$1@news.vectranet.pl> <20071106073039.433f4934@Vorago> <fgqn9m$74j$2@news.vectranet.pl> <618565031.20071107113041@pkierski.net> <fgt6sh$jov$1@news.vectranet.pl> <fgtb6j$nur$1@news.vectranet.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh2lj6$qkh$1@news.vectranet.pl> <fha3as$pap$1@bozon2.softax.pl> <fhag70$6kk$1@atlantis.news.tpi.pl> <fhag1b$9or$3@news.vectranet.pl> <1194912011.15035.13.camel@qrnik> <1194962417.690643.172410@v3g2000hsg.googlegroups.com> <1195078411.24656.6.camel@qrnik> NNTP-Posting-Host: 83.18.189.42 Mime-Version: 1.0 X-Trace: nemesis.news.tpi.pl 1195138423 24568 83.18.189.42 (15 Nov 2007 14:53:43 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Thu, 15 Nov 2007 14:53:43 +0000 (UTC) User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050322) X-Accept-Language: en-us, en In-Reply-To: <1195078411.24656.6.camel@qrnik> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit