🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #26683

Re: python vs php - potrzebne argumenty

#26683
From: Piotr Sawicki
Date: Fri, 20 Nov 2009 13:15
45 lines
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-mail
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>

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