Mitlas (mitlas) wrote,
Mitlas
mitlas

Category:

for coders only (8)

Отрицание отрицания
(продолжаем серию экстремальной оптимизации программ)

Не многие программисты знают насколько ценным может быть использование "==" вместо "!="...

В нагруженных циклах использование равенства (в if, for, while - везде) вместо отрицания может сэкономить немало секунд исполнения программы:

<?
$test = 1;

$time = time();

for ($i = 0; $i < 10000000; ++$i)
  $test = (($test == 1) ? 1 : 1);

echo (time() - $time) . "<BR>";

$time = time();

for ($i = 0; $i < 10000000; ++$i)
  $test = (($test != 1) ? 1 : 1);

echo (time() - $time) . "<BR>";
?>

в среднем, результат таков:
3
4

что, в масштабах всей программы, может дать очень даже неплохую оптимизацию.

PHP, как всегда, взят лишь для облегчения восприятия - всё это справедливо для любых языков, включая Assembler - особенности архитектуры распространённых процессоров.
Tags: programming
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments