Article View: pl.comp.lang.python
Article #26656Re: Wydajność jythona (było Re: python vs php - potrzebne argumenty)
From: Jaroslaw Zabiello
Date: Tue, 24 Nov 2009 13:33
Date: Tue, 24 Nov 2009 13:33
67 lines
3646 bytes
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-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> <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