И ещё раз контрольный выстрел в петухон
Возьмём простой бенч из этого поста:
Чтобы быть милосерднее, возьмём интерпретируемый язык, например, PHP:
$n = 0;
$starttime = microtime(true);
$n = 0;
while ($n < 1000000000) {
$n++;
}
$endtime = microtime(true);
$timediff = $endtime - $starttime;
echo $timediff;
Среда выполнения - onlinegdb.com
Время выполнения: 10.348586 секунд
Теперь тот же бенч на C++:
#include <iostream>
#include <chrono>
int main()
{
auto start = std::chrono::high_resolution_clock::now();
size_t n = 0;
while(n<1000000000) n++;
auto stop = std::chrono::high_resolution_clock::now();
auto duration = std::chrono::duration_cast<std::chrono::microseconds>(stop - start);
std::cout << duration.count() << std::endl;
return 0;
}
Время выполнения - 2.454565 секунды
Теперь петухон:
import timeit
start = timeit.default_timer()
n = 0;
while(n<1000000000):
n+=1;
stop = timeit.default_timer()
print('Time: ', stop - start)
Время выполнения:
А ВОТ ХУЙ, НЕ БУДЕТ НИКАКОГО ВРЕМЕНИ ВЫПОЛНЕНИЯ. Onlinegdb подумал минуту, а потом решил что программа зависла и ебанул её нахуй.
Мораль из этой истории пусть вынесет для себя каждый.
32 комментария