2009/12/7 aşkın yollu <[email protected]> > > > 2009/12/6 Ozgur Batur <[email protected]> > > 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"; >> >>> ?> >> > > Bende daha ilginç bi durum var, python kısa bir sürede tamamlarken, php > çook uzun sürüyor, henüz php betiğinin tamamlandığını daha görmedim. > Yapılandırmayla ilgili sorunlar olabilir. > > Bu arada kodların biraz iyileştirmeye ihtiyacı var :) > > Sonunda bitti :)
time php -f asal.php real 3m36.432s user 3m30.674s sys 0m0.520s time python asal.py real 0m3.681s user 0m3.628s sys 0m0.008s Python yaklaşık 70 kat daha hızlı çalıştı. -- Aşkın Yollu http://askin.ws
_______________________________________________ Linux-programlama mailing list [email protected] http://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
