Article View: pl.comp.lang.python
Article #26681Re: python vs php - potrzebne argumenty
From: Piotr Sawicki
Date: Thu, 19 Nov 2009 16:24
Date: Thu, 19 Nov 2009 16:24
52 lines
3732 bytes
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-mailReferences:
<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