И така, тестваме колко бързи върти for(;;)-a.
Спорим, дали е пренебрежимо еднакво бърз в скриптов език и С++.
Не е ясно до колко резултатите са адекватни, прилагам и код.
C++ code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <iostream> #include <sys/time.h> int main (int argc, char * const argv[]) { timeval start, end; long mtime, seconds, useconds; gettimeofday(&start, NULL); for (int i = 0; i < 100000000; ++i){ ; } gettimeofday(&end, NULL); seconds = end.tv_sec - start.tv_sec; useconds = end.tv_usec - start.tv_usec; mtime = ((seconds) * 1000 + useconds/1000.0); std::cout<<mtime; |
На екшън скрипта му давам 3 секунди спокойствие преди да почне да смята. По е честно.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import flash.utils.getTimer; import flash.utils.Timer; import flash.events.TimerEvent; var t:Timer = new Timer(3000, 1); t.addEventListener(TimerEvent.TIMER, tick); t.start(); function tick(e:TimerEvent):void{ var timeStart:Number = getTimer(); for (var i:int = 0; i < 100000000; ++i){ ; } trace(getTimer() - timeStart); } |
В Python3 има нещо гнило.
1 2 3 4 5 |
import time time_start = time.time() for i in range(0, 100000000): pass print (time.time() - time_start) |
PHP
1 2 3 4 5 6 7 |
<!--?php $time_start = microtime(true); for ($i = 0; $i < 100000000; ++$i){ ; } echo ($microtime(true) - $time_start); ?--> |
C++ 320ms
ActionScript3 582ms (1.8 times)
PHP5 4584ms (14.32 times)
Python3 12522ms (39.1 times)
Изглежда не бях прав. C++ -a е много по-бърз дори и от втория.