Article View: pl.comp.lang.python
Article #26675Re: python vs php - potrzebne argumenty
From: Sebastian Kaliszewski
Date: Tue, 24 Nov 2009 12:38
Date: Tue, 24 Nov 2009 12:38
71 lines
4745 bytes
4745 bytes
Łukasz Rekucki wrote: > On Nov 23, 5:27 pm, Bart Ogryczak <b.ogryc...@gmail.com> wrote: >> On Nov 23, 4:59 pm, Marcin Nowak <marcin.j.no...@gmail.com> wrote: >> >>> On 23 Lis, 15:25, Bart Ogryczak <b.ogryc...@gmail.com> wrote: >>>> On Nov 23, 8:25 am, Marcin Nowak <marcin.j.no...@gmail.com> wrote: >>>>> Jesli chodzi o Python: >>>>> - wysoka wydajnosc >>>> Co do ostatniego, to bez przesady. Bardzo słabo w porównaniu do >>>> statycznych języków. Póki Python nie będzie miał JIT, póty nie ma co >>>> mówić o wydajności. > > Alternatywne implementacje: > * Jython - kilka razy szybszy od CPython, tylko trochę wolniejszy od > zwykłej Javy Ależ skąd. > * IronPython - python dla platformy .NET - podobnie jak wyżej j.w. Był szybszy kiedy był mało zgodny z oryginałem. Teraz nie jest. > * Unladen Swallow - nieoficjalny zastępnik CPython'a dla wersji 3.x, > na razie tylko trochę szybszy w porównaniu z 2.6 3.x??? Przecież to kod dla 2.6.x > JIT-y: > * Psycho Psyco nie Psycho. Owszem dużo przyspiesza. Stosuję. > * PyPy (robi też dużo więcej, np. funkcjonalności ze stackless > pythona) To się rozwija, wygląda obiecująco, ale jeszcze poziomu Psyco nie osiągnęło. > Aha. I oczywiście, to czy język jest typowany statycznie, czy > dynamicznie, nie ma dużego wpływu na wydajność. Np. Common Lisp po > kompilacji ma wydajność jak C. Po pierwsze w rzeczywistości to ta wydajność jest zbliżona do C, ale nie taka sama (jest tzw, porównywalna, czytaj jest zwykle/średnio ze 2x wolniej), po drugie kod musi być już przez programistę odpowiednio napisany (jawne typowanie parametrów, itd -- czyli explicite wycinanie dynamiczności tam gdzie miesza) Są języki typowane dynamicznie i języki typowane dynamicznie. Była dopiero co długa dyskusja na comp.lang.python. CL jest we wrażliwych (wydajnościowo) miejscach dużo mniej dynamiczny (jak jest funkcja to nie zostanie łatwo, dynamicznie przenazwana na co innego, typy prymitywne są "niedziedziczalne", itd.). BTW zrobiono implementację Pythona jako (kros)kompilatora do Common Lispa -- kod wynikowy okazał się nie lepszy wydajnościowo niż interpretacja z CPythona. http://common-lisp.net/project/clpython/ http://github.com/franzinc/cl-python/ Python ma parę bardzo trudno przyspieszalnych elementów: odwołania do pól obiektów przez słowniki (sloty niewiele pomagają, bo w podklasie można zrobić po swojemu), możliwość przykrywania nazw funkcji, rozbudowane wykonywanie operatorów na podstawie metod specjalnych (__metoda__), skomplikowany lookup w przypadku dziedziczenia (a zwłaszcza wielodziedziczenia). \SK -- "Never underestimate the power of human stupidity" -- L. Lang -- http://www.tajga.org -- (some photos from my travels)
Technical Details
Message-ID:
<65ust6-05n.ln1@bozon.softax.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!newsfeed.neostrada.pl!nemesis.news.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!bozon.softax.pl!newsReferences:
<h83in7$rl3$1@inews.gazeta.pl> <op.u3ngjef4eaqjf2@jzabielloosx.dubtilt.local> <ebb48508-1e60-47a3-87ab-8b4ccebeeba0@a32g2000yqm.googlegroups.com> <op.u3nkjowaeaqjf2@jzabielloosx.dubtilt.local> <17047610-9db9-47fc-9d8f-c476d2009b37@s15g2000yqs.googlegroups.com> <op.u3ore7useaqjf2@macbook-pro-15-zbiru.local> <1ed24c15-19ff-4a55-872c-ed0ecc3302c9@p8g2000yqb.googlegroups.com> <221dc55c-d636-44f1-bf11-c437e392aa69@j19g2000yqk.googlegroups.com> <he7dc2$q7s$1@news.lublin.pl> <3d4aa257-cd86-4220-9917-e7ff6af41193@d5g2000yqm.googlegroups.com> <556ac98b-668b-4b4a-8373-46ed23c0735d@o31g2000vbi.googlegroups.com> <2986fd9f-56a1-41b9-811e-4f27a4b1a8ac@o13g2000vbl.googlegroups.com> <fb102619-d0ae-46de-9078-55561f655075@33g2000vbe.googlegroups.com> <7cf465d2-a344-4a63-9fbc-a8e2d5c72e90@v37g2000vbb.googlegroups.com> <0477cb5d-8df9-4ac6-a8f3-00dd75dc9b61@33g2000vbe.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!newsfeed.neostrada.pl!nemesis.news.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!bozon.softax.pl!news From: Sebastian Kaliszewski <s.bez_spamu@remove.this.informa.and.that.pl> Newsgroups: pl.comp.lang.python Subject: Re: python vs php - potrzebne argumenty Date: Tue, 24 Nov 2009 13:38:38 +0100 Organization: TP - http://www.tp.pl/ Lines: 71 Message-ID: <65ust6-05n.ln1@bozon.softax.pl> References: <h83in7$rl3$1@inews.gazeta.pl> <op.u3ngjef4eaqjf2@jzabielloosx.dubtilt.local> <ebb48508-1e60-47a3-87ab-8b4ccebeeba0@a32g2000yqm.googlegroups.com> <op.u3nkjowaeaqjf2@jzabielloosx.dubtilt.local> <17047610-9db9-47fc-9d8f-c476d2009b37@s15g2000yqs.googlegroups.com> <op.u3ore7useaqjf2@macbook-pro-15-zbiru.local> <1ed24c15-19ff-4a55-872c-ed0ecc3302c9@p8g2000yqb.googlegroups.com> <221dc55c-d636-44f1-bf11-c437e392aa69@j19g2000yqk.googlegroups.com> <he7dc2$q7s$1@news.lublin.pl> <3d4aa257-cd86-4220-9917-e7ff6af41193@d5g2000yqm.googlegroups.com> <556ac98b-668b-4b4a-8373-46ed23c0735d@o31g2000vbi.googlegroups.com> <2986fd9f-56a1-41b9-811e-4f27a4b1a8ac@o13g2000vbl.googlegroups.com> <fb102619-d0ae-46de-9078-55561f655075@33g2000vbe.googlegroups.com> <7cf465d2-a344-4a63-9fbc-a8e2d5c72e90@v37g2000vbb.googlegroups.com> <0477cb5d-8df9-4ac6-a8f3-00dd75dc9b61@33g2000vbe.googlegroups.com> NNTP-Posting-Host: 83.18.189.42 Mime-Version: 1.0 X-Trace: nemesis.news.neostrada.pl 1259064650 18967 83.18.189.42 (24 Nov 2009 12:10:50 GMT) X-Complaints-To: usenet@news.neostrada.pl NNTP-Posting-Date: Tue, 24 Nov 2009 12:10:50 +0000 (UTC) User-Agent: Thunderbird 2.0.0.23 (X11/20090817) In-Reply-To: <0477cb5d-8df9-4ac6-a8f3-00dd75dc9b61@33g2000vbe.googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit