sanırım mailler karışmış :)
herneyse Barış beyin dediği "php karşısında python %50 daha yavaş olduğu
ilginç bir durum" konusuna değinmek istiyoyum.
php ile yazdığınız kod içindeki output STRING olarak işlem görüyor.
Python ile yazmış olduğunuz variable output bir list [] olarak
tanımlanmış. yani velhasılı kelam aynı kod değiller...
siz python kodunuz da output = [] yerine output = '' diyerek işe
başlasanız ve outputa ekleme yaparken de append ile değil de
output = output + '%s'%i kullanırsanız. bu yazmış olduğunuz PHP ve
Python kodları aynı şeyi yapıyor olacak ve çok da bi fark olmayacak :D
iyi çalışmalar, kolay gelsin..
bu da gönderdiğiniz python ve php kodu:
#!/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";
?>
On Sun, 2009-12-06 at 12:00 +0200,
[email protected] wrote:
> #!/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()
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php