Threadlerin başlıkları farklı devam ettiği için Barış beyin attığı
düzeltmeyi görmemişim. Python scriptinde range 10000 değil 100000
olacak, denerken ben de dikkat etmemişim. Düzeltme ile:

python test.py:
Başlangıç = 1260123258.11
Bitiş = 1260123340.4
Süre =~82.29

Php %50 olamasa da %35 daha hızlı çıktı, nedeni diğer threadde
tartışılan konular olabilir. time konusunda haklısınız, programın
içinden ölçmekten çok daha sağlıklı olacaktır.

2009/12/6 Mehmet Salih YILDIRIM <[email protected]>:
> Bu kadar fark olmaması lazım bence. Yorumlayıcıların yaptıkları
> optimizasyonları bilmediğimden kesin birşey diyemeyeceğim ancak,
> fiziksel zamanı ölçmek yerine cputime değerine bakmak lazım gelir. Şu an
> yaptığınız işlemde preemption dolayısı ile eşzamanlı çalışan diğer
> process ler de çalışma süresini etkilerler. Ama bir process'in cpu
> üzerinde ne kadar süre running durumunda kaldığı tam olarak
> karşılaştırılabilecek veridir. Bu yüzden bu şekilde karşılaştırmak yerine
>
> "time python test.py" komutu ile "time php test.php" komutlarını kullanınız.
>
> Ozgur Batur wrote:
>> Merhaba,
>>
>> Pazar akşamı yapacak bir işim yok :)
>> Scriptleri birebir denedim:
>>
>> python test.py:
>> Başlangıç = 1260120673.71
>> Bitiş = 1260120674.85
>> Süre =~1.14
>>
>> php test.php:
>> Başlangıç = 1260120770.21
>> Bitiş = 1260120831.07
>> Süre = ~60.86
>>
>> Kullandığım python sürümü: 2.6.4rc2
>> Php sürümü: PHP 5.2.10-2ubuntu6.3 with Suhosin-Patch 0.9.7 (cli), Zend
>> Engine v2.2.0
>>
>> Sonuç python phpden yaklaşık 53 kat daha hızlı çıktı. Üstelik
>> verdiğiniz python scriptinde output ekrana basılmasına rağmen php
>> scriptinde echo kapalı. Ya bilmediğim çok hızlı bir php yorumlayıcı
>> kullanıyorsunuz, ya da yapılandırmanızda bir problem var.
>>
>> İyi günler,
>>
>> 2009/12/5 Baris <[email protected]>:
>>
>>> Merhaba arkadaşlar bu sabah çok ilginç bir durum ile karşılaştım mod_python
>>> ile ile ilgili internette gelişmelere bakarken, şöyle iki kod parçacığı
>>> gözüme takıldı, konsoldan calıştırılan ve 2 ile 100000 arası asal sayıları
>>> bulamak üzere yazılmış python betiği, yine aynı amaç için yazılmış php
>>> betiğinden %50 daha yavaş çalışmakta olduğunu sınadım. Nedenini
>>> açıklayabilecek arkadaşlar açıklamada bulunabilirse sevinirim.
>>>
>>> Python için;
>>>
>>> #!/usr/bin/python
>>> # -*- coding: utf-8 -*-
>>> import time
>>> print time.time()
>>> primeNumbers = []
>>> output = []
>>>
>>> for i in range(2, 10000):
>>>     divisible = False
>>>     for number in primeNumbers:
>>>         if i % number == 0:
>>>             divisible = True
>>>
>>>     if divisible == False:
>>>         primeNumbers.append(i)
>>>         output.append(str(i))
>>>
>>> print ' '.join(output)
>>>
>>> print time.time()
>>>
>>> ----------------------------------------
>>>
>>> Php için:
>>>
>>> <?php
>>> echo microtime(true) ."\n";
>>> $primeNumbers = array();
>>> $output = '';
>>>
>>> for ($i = 2; $i < 100000; $i++)
>>> {
>>>     $divisible = false;
>>>     foreach ($primeNumbers as $number)
>>>     {
>>>         if ($i % $number == 0)
>>>         {
>>>             $divisible = true;
>>>         }
>>>     }
>>>
>>>     if ($divisible == false)
>>>     {
>>>         $primeNumbers[] = $i;
>>>         $output .= $i;
>>>     }
>>> }
>>>
>>> #echo $output;
>>> echo "\n" . microtime(true) ."\n";
>>> ?>
>>>
>>>
>>> --
>>> Barış ÇUHADAR
>>> _______________________________________________
>>> Linux-programlama mailing list
>>> [email protected]
>>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>>> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>>>
>>>
>>>
>>
>>
>>
>>
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>



-- 
H Özgür Batur
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap