Article View: pl.comp.lang.c
Article #267738Re: Ciemna strona C++
From: Maciej Piechotka
Date: Thu, 15 Nov 2007 17:58
Date: Thu, 15 Nov 2007 17:58
60 lines
4009 bytes
4009 bytes
On Thu, 15 Nov 2007 17:17:00 +0100, H5N1 wrote:
> Sebastian Kaliszewski napisał(a):
>
>> 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).
> Super, jeśli możesz zdefinować i odpalić statyczną pulę procesów,
> najlepiej każdy na osobnym procesorze. Ale jeśli musisz je opalać np. na
> żądanie klientów to okazuje się, że koszt utworzenia nowego procesu jest
> masakryczny. A jak liczba równoległych zadań idzie w setki, albo tysiące
> to z kosztami przełączania kontekstu też trzeba się liczyć.
Nie jest to może najlepszy test (za prosty program do odpalania) ale Linux
na P M 1.5 GHz (1 rdzeń), 512 MiB Ramu (większość zajęta przez Gnome ;) )
potrafi odpalić ich ponad 100000 na sekundę (wynik podał 13107 ale
zapomniałem funkcji podającej dokładny czas) - taki prosty benchmark.
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#define PER_LOOP 0xffff
int main() {
time_t begin, end;
int status;
while(1) {
time(&begin);
for(int i = PER_LOOP; i; --i) {
switch(fork()) {
case -1:
fprintf(stderr, "Error on creating child
\n");
exit(1);
case 0:
exit(0);
default:
wait(&status); //Inaczej za szybko tworzy
}
}
time(&end);
time_t diff = end - begin;
fprintf(stdout, "%d in %d -> %f pps\n",
PER_LOOP, diff, ((double)PER_LOOP)/(diff));
}
}
Pozdrawiam
--
I've probably left my head... somewhere. Please wait untill I find it.
Homepage (pl_PL): http://uzytkownik.jogger.pl/
(GNU/)Linux User: #425935 (see http://counter.li.org/)
Technical Details
Message-ID:
<uudu05-rpp.ln1@router.piechotka.com.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!nnrpd.internetia.plReferences:
<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> <fhhlii$cg1$1@bozon2.softax.pl> <fhhrds$lld$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!nnrpd.internetia.pl From: Maciej Piechotka <uzytkownik2@gmail.com> Newsgroups: pl.comp.lang.c Subject: Re: Ciemna strona C++ Date: Thu, 15 Nov 2007 18:58:22 +0100 Organization: Netia S.A. Lines: 61 Message-ID: <uudu05-rpp.ln1@router.piechotka.com.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> <fhhlii$cg1$1@bozon2.softax.pl> <fhhrds$lld$1@inews.gazeta.pl> NNTP-Posting-Host: 87-205-198-42.adsl.inetia.pl Mime-Version: 1.0 X-Trace: mx1.internetia.pl 1195149864 28450 87.205.198.42 (15 Nov 2007 18:04:24 GMT) X-Complaints-To: abuse@inetia.pl NNTP-Posting-Date: Thu, 15 Nov 2007 18:04:24 +0000 (UTC) X-Tech-Contact: usenet@internetia.pl X-Orig-Path: router.piechotka.com.pl!news User-Agent: Pan/0.132 (Waxed in Black) X-Server-Info: http://www.internetia.pl/news/ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit