|
|
|
| заметил некую особенность - один цикл на m итераций выполняет одно действие медленнее, чем два вложенных цикла по n итераций, при этом n*n=m, то же самое действие
просто интересно - с чего бы? | |
|
|
|
|
|
|
|
для: Jackson
(25.09.2012 в 23:55)
| | С чего вы взяли? Простой тест:
<?php
$m1 = microtime(true);
for($i=0;$i<1000;$i++)for($j=0;$j<1000;$j++)preg_match_all($p,$s);
$m2 = microtime(true);
for($i=0;$i<1000000;$i++)preg_match_all($p,$s);
$m3 = microtime(true);
echo round($m2-$m1,3)." VS ".round($m3-$m2,3);
|
Если тут что-то чего-то и быстрее, то на 1млн. итераций - это статистическая погрешность! | |
|
|
|
|
|
|
|
для: Sfinks
(26.09.2012 в 01:02)
| | Вот как раз разбор рег. выражениями, будет происходить быстрее, если выполнять раздельно каждый мелкий паттерн, чем загрузить задачу сразу всеми. | |
|
|
|
|
|
|
|
для: Sfinks
(26.09.2012 в 01:02)
| | у меня та же самая проверка дала разницу в порядок. Правда проверял на 16 итераций и 4х4 | |
|
|
|
|
|
|
|
для: Jackson
(28.09.2012 в 18:51)
| | Если объем данных велик, при этом не только их перебор в цикле, но и действия над ними подразумевают большой объем данных, а память под них может выделяться страницами, то уже это предполагает более сложную адресацию в первом вашем случае, нежели во втором.
Да и цикл циклу рознь. | |
|
|
|