| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Регулярные выражения |
| Автор: Opik 25.1.2005, 15:16 |
| Я например привык использовать (.*), даже в тех случаях, где могут быть только цифры или только буквы. Занижает ли это "жадное" выражение скорость по сравнению, например, с ([0-9]+) ? Буду благодарен и за интересную инфу по этому поводу |
| Автор: rMaveric 25.1.2005, 15:29 |
| озреваю, что выборка всех символов будет работать более быстро и использовать меньше ресов... сравнивать то несчем... А там помимо всего еще и проверка допустимого диапазона. |
| Автор: Mal Hack 25.1.2005, 16:38 |
| Opr очень много зависит от тогокакой в целом рэг и какой текст и что надо получить. Так уж конкретно сказать нельзя... |
| Автор: Opik 25.1.2005, 17:47 |
| Mal Hack preg_match_all("(.*), (9 раз)"); текст, немного HTML и далее под шаблон. |
| Автор: Mal Hack 25.1.2005, 18:16 | ||
Я в глобальном имел ввиду |
| Автор: Irokez 25.1.2005, 20:09 | ||
Добавлено @ 20:10 1:0.007076 2:0.001406 1:0.013041 2:0.0025580000000001 1:0.020454 2:0.0037200000000001 1:0.027139 2:0.0050360000000001 1:0.035905 2:0.0061780000000001 1:0.0441 2:0.0091880000000001 1:0.050768 2:0.010704 1:0.056664 2:0.011666 1:0.062725 2:0.013148 1:0.069188 2:0.014619 |
| Автор: Mal Hack 25.1.2005, 20:27 |
| Irokez У тебя получение времени неправильное... |
| Автор: Irokez 25.1.2005, 20:41 |
| возможно, между делом писал, а где именно ошибка? кстати я менял местами тестируемые строки, результат был тот же - Opr прав - жадное выражение (.*) занимает больше времени |
| Автор: Mal Hack 25.1.2005, 20:47 | ||||
У тебя микротайм вернет: илисекунды пробел tme();... Вот и думай что ты потом высчитаваешь...
|
| Автор: Irokez 25.1.2005, 21:06 |
| а сорри, ну тогда заместо microtime() , используем getmicrotime(), результат такой же ЗЫ я просто тогда был уверен в результате, потому что сначала использовал просто time() |
| Автор: Wowa 25.1.2005, 23:25 | ||
Скорее не занижает, а повышает. |