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 <http://baris.bckm.org>
_______________________________________________
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