После прочтения mocksoul.livejournal.com решил сравнить PHP и Python на том же коде.
Итак поехали:
IO Test: запись в файл.
test.php
<?php
$fp = fopen('/tmp/iotest', 'wb');
for ($i = 0; $i < 1000000; $i++)
{
fwrite($fp, $i);
}
fclose($fp);
?>
test.py
#!/usr/bin/env python
f = open('/tmp/iotest','wb');
for i in xrange(1000000):
f.write(str(i));
f.close()
Результаты (IO)
php 39.378192 сек.
python 8.538952 сек.
Честно говоря я даже растерялся
Hash Test: создание массивов
test.php
<?php
for ($i = 0; $i < 6000; $i++)
{
$x = array();
for ($j = 0; $j < 1000; $j++)
{
$x[$j] = $i;
$x[$j];
}
}
?>
test.py
#!/usr/bin/env python
for i in range(6000):
x={}
for j in range(1000):
x[j]=i
x[j]
Результаты (Hashing)
php 10.914512 сек.
python 11.578563 сек.
Console Test: Вывод на консоль. В этом тесте я уменьшил число
test.php
<?php
for ($i = 0; $i < 100000; $i++)
{
echo $i . "\n";
}
?>
test.py
#!/usr/bin/env python
for x in xrange(100000):
print x
Результаты (Console)
php 10.52952 сек.
python 10.96296 сек.
List Test: Заполнение списков.
test.php
<?php
for ($i = 0; $i < 3000; $i++)
{
$v = array('a', 'b', 'c', 'd', 'e', 'f', 'g');
for ($j = 0; $j < 1000; $j++)
{
array_push($v, $j);
$v[$j];
}
}
?>
test.py
#!/usr/bin/python
for i in range(3000):
v=['a','b','c','d','e','f','g']
for j in range(1000):
v.append(j)
v[j]
Результаты (List)
php 11.84869 сек.
python 6.69352 сек.
No Test. Просто ничего не делаем.
test.php
<?php
?>
test.py
#!/usr/bin/env python
Результаты (No Test)
php 0.020854 сек.
python 0.000003 сек.
Speed Test: Скорость итераций.
test.php
<?php
for ($i = 0; $i < 20000000; $i++)
{
}
?>
test.py
#!/usr/bin/env python
for x in xrange(20000000):
pass
Результаты (Speed)
php 11.82229 сек.
python 9.83335 сек.
Версии ПО:
PHP 5.3.2
Python 2.6.5
Версия ОС:
Linux 2.6.32-30-generic #59-Ubuntu SMP Tue Mar 1 21:30:21 UTC 2011 i686 GNU/Linux
Получился довольно интересный результат 4 из 6 тестов Python обошел PHP :)
ссылка на источник обязательна!
Комментариев нет:
Отправить комментарий