🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#26656
From: Jaroslaw Zabiello
Date: Tue, 24 Nov 2009 13:33
67 lines
3646 bytes
On Tue, 24 Nov 2009 12:17:28 -0000, Marcin Kasperski  
<Marcin.Kasperski@mekk.waw.pl> wrote:

>> Dla odmiany inny prosty mikrobenchmark. Liczenie ciągu
>> Fibonacciego. (...)
>>
>> def fib(n):
>>   if n <= 1: return n
>>   return fib(n - 1) + fib(n - 2)
>
> To jest atak na przepełnienie stosu a nie mikrobenchmark.

Ja użyłem 35 wywołań rekorencyjnych, to nie było żadne przepełnienie stosu.

> PS Realnych przykładów zastosowań, w których jython wypadłby lepiej,
> szukałbym w programach wielowątkowych

To na pewno. Aczkolwiek, Jython jest jeszcze bardzo słabo zoptymalizowany,  
bo podobny kod odpalony na JRuby działa o wiele szybciej.


def fib(n)
   return n if n <= 1
   fib(n - 1) + fib(n - 2)
end
require "benchmark"
Benchmark.bm do |make|
   10.times do
     make.report do
       fib(35)
     end
   end
end

$ jruby -v
jruby 1.4.0 (ruby 1.8.7 patchlevel 174) (2009-11-12 6586) (Java  
HotSpot(TM) 64-Bit Server VM 1.6.0_15) [x86_64-java]

$ jruby -J-server -J-Djruby.compile.fastest=true fibonacci.rb
       user     system      total        real
   1.235000   0.000000   1.235000 (  1.206000)
   1.011000   0.000000   1.011000 (  1.011000)
   1.024000   0.000000   1.024000 (  1.024000)
   1.005000   0.000000   1.005000 (  1.005000)
   1.008000   0.000000   1.008000 (  1.008000)
   1.004000   0.000000   1.004000 (  1.004000)
   1.005000   0.000000   1.005000 (  1.005000)
   1.006000   0.000000   1.006000 (  1.006000)
   1.004000   0.000000   1.004000 (  1.003000)
   1.004000   0.000000   1.004000 (  1.005000)


$ jython -J-server fibonacci.py
5.2389998436
4.52499985695
4.5150001049
4.50999999046
4.5039999485
4.46400022507
4.45699977875
4.46099996567
4.46300005913
4.45899987221


-- 
JZ http://blog.zabiello.com
Technical Details
Message-ID: <op.u3wimuqzeaqjf2@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> <873a449kx3.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:33:56 -0000
Organization: http://onet.pl
Lines: 74
Message-ID: <op.u3wimuqzeaqjf2@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> <873a449kx3.fsf@mekk.waw.pl>
NNTP-Posting-Host: 89.167.220.4
Mime-Version: 1.0
X-Trace: news.onet.pl 1259069636 23675 89.167.220.4 (24 Nov 2009 13:33:56 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Tue, 24 Nov 2009 13:33:56 +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