Article View: pl.comp.lang.python
Article #26661Re: Wydajność jythona (było Re: python vs php - potrzebne argumenty)
From: Jaroslaw Zabiello
Date: Tue, 24 Nov 2009 13:56
Date: Tue, 24 Nov 2009 13:56
52 lines
4244 bytes
4244 bytes
On Tue, 24 Nov 2009 12:21:02 -0000, Marcin Kasperski
<Marcin.Kasperski@mekk.waw.pl> wrote:
> Jak widać hotspoty hotspotami, psyco ma przy obliczeniach większy
> potencjał.
Po pierwsze, Psyco jest bezużyteczne na systemach 64-bitowych. Ja już nie
mam żadnego kompa na 32 bitach. Mój pecet śmiga na 64bit Win7, a MBP na
64bit Snow Leopardzie. Przesiądziesz się na 64bity i po Psyco.
Po drugie, jak już wspominałem, Jython jeszcze przyśpieszy jak zostanie
bardziej zoptymalizowany. Docelowo powinien być szybszy od JRuby, bo
Python jest prostszym językiem (czyli łatwiej go optymalizować).
Po trzecie, JDK7 powinna znacznie przyśpieszyć wykonywanie bytecodu z
języków dynamicznych.
Ogólnie, uważam, że dynamiczna kompilacja HotSpota ma znacznie większy
potencjał niż kompilacja statyczna. HotSpot może adaptacyjnie dostosowywać
się do kodu w locie i dokonywać dalszych optymalizacji dawno po tym jak
program został uruchomiony. Zaś kod skompilowany statycznie (czyli
wszystkie implemenatcje w C/C++) wszystko to, co miały do powiedzenia już
powiedziały. Wszystko to, co był w stanie zoptymalizować, już zrobił przy
kompilacji.
Jako ciekawostkę odpaliłem test z ciągiem Fibonacciego na MagLev'ie,
smalltalkowej implementacji Ruby'go (pracuje na wirtualnej maszynie
Smalltalka - GemStone) Dodam tylko. że to jest jeszcze kod alpha. MagLev
jest szybszy od JRuby i deklasuje Jythona (bz Psyco).
$ maglev-ruby fibonacci.rb
user system total real
0,770000 0,000000 0,770000 ( 0,761437)
0,760000 0,000000 0,760000 ( 0,761376)
0,760000 0,000000 0,760000 ( 0,761401)
0,760000 0,000000 0,760000 ( 0,761282)
0,760000 0,000000 0,760000 ( 0,761309)
0,760000 0,000000 0,760000 ( 0,761423)
0,760000 0,000000 0,760000 ( 0,761418)
0,770000 0,000000 0,770000 ( 0,761349)
0,760000 0,000000 0,760000 ( 0,761353)
0,760000 0,000000 0,760000 ( 0,761390)
Dla ciekawych: http://www.infoq.com/news/2009/11/maglev-public-alpha. W
końcu Ruby doczekał się dobrej bazy obiektowej. :) GemStone jest używany
komercyjnie i optymalizowany od ponad 20 lat. Pomoć Smalltalk jest jakieś
10x szybszy od Pythona. MagLev ma ambicję osiągnąć docelowo podobną
wydajność.
--
JZ http://blog.zabiello.com
Technical Details
Message-ID:
<op.u3wjn3pieaqjf2@jzabielloosx.dubtilt.local>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mailReferences:
<h83in7$rl3$1@inews.gazeta.pl> <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> <87bpis9qvi.fsf_-_@mekk.waw.pl> <op.u3wc3kddeaqjf2@jzabielloosx.dubtilt.local> <op.u3wdfrm6eaqjf2@jzabielloosx.dubtilt.local> <87y6lw866p.fsf@mekk.waw.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail From: "Jaroslaw Zabiello" <usenet@onet.eu> Newsgroups: pl.comp.lang.python Subject: Re: Wydajność jythona (było Re: python vs php - potrzebne argumenty) Date: Tue, 24 Nov 2009 13:56:17 -0000 Organization: http://onet.pl Lines: 92 Message-ID: <op.u3wjn3pieaqjf2@jzabielloosx.dubtilt.local> References: <h83in7$rl3$1@inews.gazeta.pl> <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> <87bpis9qvi.fsf_-_@mekk.waw.pl> <op.u3wc3kddeaqjf2@jzabielloosx.dubtilt.local> <op.u3wdfrm6eaqjf2@jzabielloosx.dubtilt.local> <87y6lw866p.fsf@mekk.waw.pl> NNTP-Posting-Host: 89.167.220.4 Mime-Version: 1.0 X-Trace: news.onet.pl 1259070981 27854 89.167.220.4 (24 Nov 2009 13:56:21 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Tue, 24 Nov 2009 13:56:21 +0000 (UTC) To: "Marcin Kasperski" <Marcin.Kasperski@mekk.waw.pl> User-Agent: Opera Mail/10.10 (MacIntel) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit