powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Eval тормозит или мне показалось ? Кто-то тестировал на скорость eval ?
11 сообщений из 11, страница 1 из 1
Eval тормозит или мне показалось ? Кто-то тестировал на скорость eval ?
    #39186817
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал универсальную функцию, где в шаблоне указываю {VAR VALUE='$ЧтоХочуТоИПолучаю[ДажеТак]'}... О чудо, какой я гений, обрадовался, теперь могу что захочу и где захочу выводить любые значения делая правку только в шаблоне. Но использовав только 5 переменных сайт начал заметно на пол секунды больше задерживать выдачу. Время не измерял, отключил все что придумал, а спустя неделю решил спросить на форуме все таки Eval замедляет процесс исполнения кода ?
...
Рейтинг: 0 / 0
Eval тормозит или мне показалось ? Кто-то тестировал на скорость eval ?
    #39186920
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159,

Баян, но повторю...

Evil... ой, простите... eval следует использовать только в крайних случаях. И не потому, что она медленнее в силу повторного парсинга строк (вообще не должно наблюдаться сильное замедление), а в силу понижения уровня безопасности (ведь умелые руки могут прокинуть в неё запрещённый вызов).

P.S. Замечу, что лично у меня, таких "крайних случаев" не было уже на протяжении последних лет двух наверное :) А если таковые появятся, то я скорее задумаю о правильности подхода, чем о том, как бы туда правильно всунуть eval.
...
Рейтинг: 0 / 0
Eval тормозит или мне показалось ? Кто-то тестировал на скорость eval ?
    #39187083
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрEvil... ой, простите... eval следует использовать только в крайних случаях.
P.S. Замечу, что лично у меня, таких "крайних случаев" не было уже на протяжении последних лет двух наверное :)
Вы так то в курсе, что в php шаблонизаторы обычно через eval и работают ? или компилируют, но потом снова eval. Ну или еще через какую-то иную форму вызова интерпретатора php.
Любой сложный коробочный скрипт php использует eval. Форма вызова шаблона может быть иная типа include. И да, он сравнительно тормозит и от этого никуда не деться. Это же парсинг php, вызов сложного компилятора-интерпретатора.

Но не по полсекунды, о которых пишет ТС. Там что-то еще скрыто.
...
Рейтинг: 0 / 0
Eval тормозит или мне показалось ? Кто-то тестировал на скорость eval ?
    #39187366
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindПрограмёрEvil... ой, простите... eval следует использовать только в крайних случаях.
P.S. Замечу, что лично у меня, таких "крайних случаев" не было уже на протяжении последних лет двух наверное :)
Вы так то в курсе, что в php шаблонизаторы обычно через eval и работают ? или компилируют, но потом снова eval. Ну или еще через какую-то иную форму вызова интерпретатора php.
Любой сложный коробочный скрипт php использует eval. Форма вызова шаблона может быть иная типа include. И да, он сравнительно тормозит и от этого никуда не деться. Это же парсинг php, вызов сложного компилятора-интерпретатора.

Но не по полсекунды, о которых пишет ТС. Там что-то еще скрыто.

И что же это за шаблонизаторы, которые "обычно" через eval работают? :)

Ладно, в любом случае перефразирую, что бы не возникало споров. Eval не стоит использовать там, где есть хоть слабый намёк на пользовательский ввод. Иначе образуется потенциальная дырка для выполнения ЛЮБОГО кода на сервере посредством ввода в поле обычного php. Соответственно клиентские представления, куда вставляются переменные, введённые пользователем, я не стал бы обрабатывать эвалом ни при каких обстоятельствах
...
Рейтинг: 0 / 0
Eval тормозит или мне показалось ? Кто-то тестировал на скорость eval ?
    #39187421
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёр
И что же это за шаблонизаторы, которые "обычно" через eval работают? :)

Все, которые компилируют в php и одновременно хранят данные в БД.
Обычно это делается через include, но у них других вариантов нет.

Ладно, в любом случае перефразирую, что бы не возникало споров. Eval не стоит использовать там, где есть хоть слабый намёк на пользовательский ввод. Иначе образуется потенциальная дырка для выполнения ЛЮБОГО кода на сервере посредством ввода в поле обычного php. Соответственно клиентские представления, куда вставляются переменные, введённые пользователем, я не стал бы обрабатывать эвалом ни при каких обстоятельствах

понятно. и что теперь ТС закрываться?
...
Рейтинг: 0 / 0
Eval тормозит или мне показалось ? Кто-то тестировал на скорость eval ?
    #39188162
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВы так то в курсе, что в php шаблонизаторы обычно через eval и работают ? или компилируют, но потом снова eval. Ну или еще через какую-то иную форму вызова интерпретатора php.

через extract они работают.
...
Рейтинг: 0 / 0
Eval тормозит или мне показалось ? Кто-то тестировал на скорость eval ?
    #39188583
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowавторВы так то в курсе, что в php шаблонизаторы обычно через eval и работают ? или компилируют, но потом снова eval. Ну или еще через какую-то иную форму вызова интерпретатора php.

через extract они работают.

+

Да! Там используется extract внутри функции (для инкапсуляции), а потом инклуд (в котором становятся доступны нужные переменные).

И никаких тебе эвалов. и вызовов интерпретатора :)
...
Рейтинг: 0 / 0
Eval тормозит или мне показалось ? Кто-то тестировал на скорость eval ?
    #39188600
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёр, но include - это же и есть вызов интерпретатора. Значит должен тормозить? однако ж всем вроде норм.
...
Рейтинг: 0 / 0
Eval тормозит или мне показалось ? Кто-то тестировал на скорость eval ?
    #39188696
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindПрограмёр, но include - это же и есть вызов интерпретатора. Значит должен тормозить? однако ж всем вроде норм.

Нету никаких вызовов интерпретатора. Неправильная формулировка. Ни include, ни require, ни даже eval не создаст дочерний процесс, а потому никакого запуска нету.

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

Если таковое происходит, то искать надо или в другом месте, или же в самом коде, который посредством этих команд включается в файл.
...
Рейтинг: 0 / 0
Eval тормозит или мне показалось ? Кто-то тестировал на скорость eval ?
    #39188781
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёр, он и как недочерний процесс небыстрый. Мое мнение основывается на том, что я пытался профилировать vbulletin чтобы понять как его еще ускорить. Многие решение там слишком специфичны чтобы переносить на весь современный php. Но eval вывода шаблона часто лидировал. Остальное то там все простое, а вот странички сверстаны старым тяжелым html местами на таблицах.
Я как-нибудь перетестирую повнимательней.
...
Рейтинг: 0 / 0
Eval тормозит или мне показалось ? Кто-то тестировал на скорость eval ?
    #39189111
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eval тормозит - это факт. но последний раз мне доводилось его видеть лет 7 назад.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Eval тормозит или мне показалось ? Кто-то тестировал на скорость eval ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]