LINUX.ORG.RU

Ответ на: комментарий от anonymous

> Напомни-ка сколько ключевых слов в Perl 6???
у тебя есть интерпретатор perl6?

anonymous
()
Ответ на: комментарий от anonymous

Господа,

начал изучать питон, вот решил небольшой тестик сделать и чего то не пойму, почему аналогичный код на питоне исполняется во много раз медленней чем на перле? может я где ошибся?

#!/usr/bin/perl -w
use strict;

sub fib
{
my ($a, $b) = (0, 1);
my $n = shift;

my @result;

while ($b < $n) {
($a, $b) = ($b, $a + $b);
push @result, $a;
}

return @result;
}

for (my $i = 0; $i < 10000; $i++) {
fib (1000000000);
}


#!/usr/bin/env python
# -*- coding: cp1251 -*-

def fib (n):

a, b = 0, 1
result = []

while b < n:
a, b = b, a + b
result.append (a)

return result

i = 0

while i < 10000:
fib (1000000000)
i += 1

D:\project\python teach>d:\python24\lib\profile.py python.py
450117 function calls in 3.882 CPU seconds

Ordered by: standard name

ncalls tottime percall cumtime percall filename:lineno(function)
440000 1.752 0.000 1.752 0.000 :0(append)
2 0.000 0.000 0.000 0.000 :0(charmap_decode)
17 0.000 0.000 0.000 0.000 :0(endswith)
1 0.001 0.001 3.881 3.881 :0(execfile)
17 0.000 0.000 0.000 0.000 :0(join)
2 0.000 0.000 0.000 0.000 :0(read)
1 0.002 0.002 0.002 0.002 :0(setprofile)
35 0.000 0.000 0.000 0.000 :0(splitlines)
1 0.000 0.000 3.881 3.881 <string>:1(?)
1 0.000 0.000 0.000 0.000 codecs.py:211(__init__)
18 0.000 0.000 0.000 0.000 codecs.py:238(read)
18 0.001 0.000 0.001 0.000 codecs.py:295(readline)
2 0.000 0.000 0.000 0.000 cp1251.py:20(decode)
1 0.000 0.000 3.882 3.882 profile:0(execfile('python.py'))
0 0.000 0.000 profile:0(profiler)
1 0.061 0.061 3.879 3.879 python.py:4(?)
10000 2.065 0.000 3.817 0.000 python.py:4(fib)



D:\project\python teach>perl -d:DProf perl.pl


D:\project\python teach>dprofpp tmon.out
Total Elapsed Time = 0.466980 Seconds
User+System Time = 0.465980 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
102. 0.476 0.476 10000 0.0000 0.0000 main::fib
0.00 - -0.000 1 - - strict::import
0.00 - -0.000 1 - - strict::bits
0.00 - -0.000 1 - - main::BEGIN

anonymous
()
Ответ на: комментарий от anonymous

ХЗ. У меня практически одинаково: ~7.8-7.9 сек. А если Питонский скрипт переписать:

#!/usr/bin/env python

def fibit( n ) :
    a, b = 0, 1
    while b < n :
        a, b = b, a + b
        yield a

def fib( n ):
    return list( fibit( n ) )

for x in xrange( 100000 ) :
    fib(1000000000)

То он вообще <6 сек. работает.

watashiwa_daredeska ★★★★
()
Ответ на: комментарий от anonymous

Уважаемый watashiwa_daredeska!

Вы не могли бы подсказать, существуетли подобный CPAN архив модулей (классов) для python? ну или крупный архив?

ps: или google рулит ?:)

wbr swop.

anonymous
()
Ответ на: комментарий от anonymous

Это автору был ответ. Про то есть ли у руби преимущества.

А про perl6 - я не слежу, не интересно. Но google что-то слышал, и в новостях pugs проскакивал.

DonkeyHot ★★★★★
()
Ответ на: комментарий от anonymous

> существуетли подобный CPAN архив модулей (классов) для python?

Не знаю, подобный ли, но теоретически, есть PyPI: http://www.python.org/pypi, правда там не много пакетов. Обычно, таки Google.

watashiwa_daredeska ★★★★
()

а по сабжу таки никто не выскажется? 8)

StDog
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.