🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: python vs php - potrzebne argumenty

#26681
From: Piotr Sawicki
Date: Thu, 19 Nov 2009 16:24
52 lines
3732 bytes
Łukasz Rekucki powiada:
>> >> forki masz
>>
>> > Ale nie masz wątków. Nie jesteś w stanie napisać żadnej aplikacji
>> > webowej pracującej w trybie serwletowym. Nie jesteś też w stanie
>> > użyć pehapa do zautomatyzowania wielowątkowych zadań odpalanych
>> > z konsoli (a utrzymywałeś że php nadaje się też do pisnia skryptów
>> > shellowych, dosyć kiepsko się nadaje).
>>
>> No zaraz, akurat ,,wielowątkowe'' zadania odpalane z konsoli są
>> AFAIK zaimplementowane (w bashu) właśnie forkami a nie threadami.
> Uhmm... what? Co to są zadania wielowątkowe w bashu? Shell "by design"
> odpala procesy i łączy deskryptory.

To właśnie napisałem...

>> Poza tym nie wiem czemu się upierasz przy konkretnym środku -
>> wątki nie są celem samym w sobie. Jeśli chcesz pisać program
>> korzystający ze współbieżności, to można ją zrealizować 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).

> Procesy nie dzielą pamięci, więc wymiana informacji musi 
> się odbywać przez PIPE lub mechanizmy IPC. 

A jednym z mechanizmów IPC jest właśnie współdzielenie pamięci. 

> To jeszcze nie byłoby takie złe, gdyby nie fakt, 
> że nie dzielą INTERPRETERA. 

Jego kod mogą dzielić, nie dzielą danych - no i bardzo dobrze,
z punktu widzenia niezawodności i bezpieczeństwa to zaleta.

> Więc każdy obiekt musisz serializować zanim 
> przekażesz go do drugiego interpretera. 

Da się to schować za biblioteką/transformatorem/dekoratorem/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.

> Dla tego procesy są dobre tylko dla luźno powiązanych zadań.

Powiązanie zadań to w dużym stopniu cecha wybranej implementacji,
zawsze można inaczej pokroić na procesy (a nie odzwierciedlać wątki). 

Piotr Sawicki
Technical Details
Message-ID: <slrnhgasaa.v8.ps171721@duch.mimuw.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!not-for-mail
References: <h83in7$rl3$1@inews.gazeta.pl> <op.u2tsh4k3eaqjf2@mydot.ftpviewlocal.com> <1be92709-f662-4da5-8f44-3ab83d3915d3@k19g2000yqc.googlegroups.com> <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>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.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: Thu, 19 Nov 2009 16:24:42 +0000 (UTC)
Organization: KTG
Lines: 52
Message-ID: <slrnhgasaa.v8.ps171721@duch.mimuw.edu.pl>
References: <h83in7$rl3$1@inews.gazeta.pl> <op.u2tsh4k3eaqjf2@mydot.ftpviewlocal.com> <1be92709-f662-4da5-8f44-3ab83d3915d3@k19g2000yqc.googlegroups.com> <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>
Reply-To: piotr.sawicki@mimuw.edu.pl
NNTP-Posting-Host: duch.mimuw.edu.pl
Mime-Version: 1.0
X-Trace: achot.icm.edu.pl 1258647882 5912 193.0.96.2 (19 Nov 2009 16:24:42 GMT)
X-Complaints-To: abuse@icm.edu.pl
NNTP-Posting-Date: Thu, 19 Nov 2009 16:24:42 +0000 (UTC)
User-Agent: slrn/0.9.9p1 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit