Article View: pl.comp.lang.python
Article #26683Re: python vs php - potrzebne argumenty
From: Piotr Sawicki
Date: Fri, 20 Nov 2009 13:15
Date: Fri, 20 Nov 2009 13:15
45 lines
3821 bytes
3821 bytes
Przemek Rekucki powiada: >> >> również procesami. >> > Tak, ale czasami jest to niepotrzebnie skomplikowane i wolniejsze. >> >> Komplikacja zależy od systemu operacyjnego, generalnie wraz >> z przyspieszaniem sprzętu context switching robi się pomijalny >> czasowo (w php/pythonie nikt się nie będzie bił o mikrosekundy). > Nie chodziło mi o context switching. Patrz niżej. Jak pominiemy context switching, to procesy nie są wolniejsze od wątków. > Brak dzielenia danych => Niezależnie od tego czy użyjesz SHM czy > kolejek, to i tak musisz robić serializację wszystkich obiektów, > które mają być dostępne w obu procesach. Dla współdostępnych obiektów dane trzymasz w pamięci dzielonej, a operacji oba procesy dokonują tam przez własne proxy. >> > pamięci. No i oczywiście w ten sposób masz już 2 GC, a nie jeden. >> >> Oba mają połowę roboty, obciążenie się lepiej rozkłada. > Skąd wniosek, że mają połowę roboty ? Bo na każdy dzielony > fragment pamięci przypadają 2 elementy proxy. Z którymi GC nie ma nic do roboty. Jeśli między procesami miałyby krążyć miriady ciągle powstających i sprzątanych obiektów, to problem leży w kompozycji programu a nie mechanizmie wieloprocesowości. >> Powiązanie zadań to w dużym stopniu cecha wybranej implementacji, >> zawsze można inaczej pokroić na procesy (a nie odzwierciedlać wątki). > Jak zmniejszyć ilość przekazywanych danych w schemacie z dzielonym > stanem (typowy przypadek - aplikacja z GUI) dzieląc inaczej na > "procesy" ? Może są jakieś magiczne sztuczki, których nie znam. Schemat z sekwencjami imperatywów dłubiących w globalnym stanie to inne określenie na technikę realizowania współbieżności poprzez wątki. Skoro pytanie brzmi jak zaprogramować wątki bez wątków, to ja się zgodzę, że zawiedziony będzie każdy kto liczył na zastąpienie forkami wywołań create_thread i dalsze dłubanie w globalnym stanie. Natomiast można bez wątków programować współbieżnie używając innej metodologii - skoro nalegasz to możemy taką umiejętność nazywać magiczną sztuczką. Piotr Sawicki
Technical Details
Message-ID:
<slrnhgd5jp.s8v.ps171721@duch.mimuw.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.task.gda.pl!news2.icm.edu.pl!not-for-mailReferences:
<h83in7$rl3$1@inews.gazeta.pl> <op.u2vg6knceaqjf2@mydot.ftpviewlocal.com> <f45ba553-947c-40ff-a96a-88ac21ea20ab@37g2000yqm.googlegroups.com> <op.u26lj6r2eaqjf2@jzabielloosx.dubtilt.local> <929230b3-8c01-4aa0-ba4d-af46cf4196f1@m16g2000yqc.googlegroups.com> <hdqtq7$2qja$1@news2.ipartners.pl> <9417e837-c468-4fe6-9ec8-5c17b268cecd@u7g2000yqm.googlegroups.com> <op.u3i9g4b5eaqjf2@jzabielloosx.dubtilt.local> <ef4e9857-22e5-42e4-a651-be6f21a56447@z41g2000yqz.googlegroups.com> <op.u3lajfqyeaqjf2@jzabielloosx.dubtilt.local> <394cbadd-a89d-41d8-8fe8-116d78e245a7@c3g2000yqd.googlegroups.com> <op.u3mzlhcheaqjf2@jzabielloosx.dubtilt.local> <slrnhgag2b.a7e.ps171721@duch.mimuw.edu.pl> <ca5ab3a0-4b3f-4c55-b162-e545f15c76da@k4g2000yqb.googlegroups.com> <slrnhgasaa.v8.ps171721@duch.mimuw.edu.pl> <ef53e525-e52d-4247-9b74-c2eef04c4ea8@v25g2000yqk.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.task.gda.pl!news2.icm.edu.pl!not-for-mail From: Piotr Sawicki <ps171721@students.mimuw.edu.pl> Newsgroups: pl.comp.lang.python Subject: Re: python vs php - potrzebne argumenty Date: Fri, 20 Nov 2009 13:15:37 +0000 (UTC) Organization: KTG Lines: 45 Message-ID: <slrnhgd5jp.s8v.ps171721@duch.mimuw.edu.pl> References: <h83in7$rl3$1@inews.gazeta.pl> <op.u2vg6knceaqjf2@mydot.ftpviewlocal.com> <f45ba553-947c-40ff-a96a-88ac21ea20ab@37g2000yqm.googlegroups.com> <op.u26lj6r2eaqjf2@jzabielloosx.dubtilt.local> <929230b3-8c01-4aa0-ba4d-af46cf4196f1@m16g2000yqc.googlegroups.com> <hdqtq7$2qja$1@news2.ipartners.pl> <9417e837-c468-4fe6-9ec8-5c17b268cecd@u7g2000yqm.googlegroups.com> <op.u3i9g4b5eaqjf2@jzabielloosx.dubtilt.local> <ef4e9857-22e5-42e4-a651-be6f21a56447@z41g2000yqz.googlegroups.com> <op.u3lajfqyeaqjf2@jzabielloosx.dubtilt.local> <394cbadd-a89d-41d8-8fe8-116d78e245a7@c3g2000yqd.googlegroups.com> <op.u3mzlhcheaqjf2@jzabielloosx.dubtilt.local> <slrnhgag2b.a7e.ps171721@duch.mimuw.edu.pl> <ca5ab3a0-4b3f-4c55-b162-e545f15c76da@k4g2000yqb.googlegroups.com> <slrnhgasaa.v8.ps171721@duch.mimuw.edu.pl> <ef53e525-e52d-4247-9b74-c2eef04c4ea8@v25g2000yqk.googlegroups.com> Reply-To: piotr.sawicki@mimuw.edu.pl NNTP-Posting-Host: duch.mimuw.edu.pl Mime-Version: 1.0 X-Trace: achot.icm.edu.pl 1258722937 32418 193.0.96.2 (20 Nov 2009 13:15:37 GMT) X-Complaints-To: abuse@icm.edu.pl NNTP-Posting-Date: Fri, 20 Nov 2009 13:15:37 +0000 (UTC) User-Agent: slrn/0.9.9p1 (Linux) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit