как кодировать инициализацию массива для производительности? - PullRequest
0 голосов
/ 16 августа 2011

мой вопрос прост

это что ...:

$arr = array(1, 2, 3, 4, 5, ..., x); //x is a huge number for the theory

... быстрее, ниже или такая же скорость, как:

$arr[] = 1;
$arr[] = 2;
$arr[] = 3;
$arr[] = 4;
$arr[] = 5;
...
$arr[] = x;

Я думаю, что второй способ кодирования легко изменить, особенно если имеются многомерные матрицы. Но изменяет ли это скорость обработки?

Ответы [ 2 ]

1 голос
/ 16 августа 2011

В первой форме массив имеет постоянный размер.Но второй метод инициализации изменяет размер массива при каждом назначении.

Второй будет медленнее.

Я рекомендую инициировать так:

$arr = array(1,
             2,
             3,
             4,
             ...
             x);

Вы можете получать информацию откак.

0 голосов
/ 16 августа 2011

При грубом тестировании второй метод работает в два раза медленнее, чем первый, но если вы не используете очень большой массив (более 100 000 элементов) или не инициализируете массив много раз (1000 раз в секунду), разница незначительный.

В синтаксических целях см. Ответ Берк.

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