🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Wydajność jythona (było Re: python vs php - potrzebne argumenty)

#26661
From: Jaroslaw Zabiello
Date: Tue, 24 Nov 2009 13:56
52 lines
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-mail
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>

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