eval()表现 - 一个大或多小?

时间:2011-11-02 14:33:54

标签: php performance eval

如果我有一个大的html页面,我从数据库中检索,并且它里面有多个小的PHP标签,需要进行eval()编辑。只是eval()整个页面,或者将它分解并eval()只是单个小片段,这是更好的性能吗?

2 个答案:

答案 0 :(得分:3)

与使用单个eval()相比,您将花费更多时间处理/拆分。 PHP在加载/解析/执行文件中的代码方面已经非常有效,所以让它做它擅长的事情,而不是再次猜测系统并增加额外的不必要的开销。

当然,如果你真的很喜欢它,你可以尝试这两种方法并做一些基准测试。

答案 1 :(得分:2)

很难回答你的问题。但是,我可以给出的一个建议是,首先,你应该将问题封装起来,例如将其封装到自己的函数中:

/**
 * @param $page
 * @return void
 */
function execute_page($page)
{
    # ... - fetch code from store based on $page parameter and execute it.
}

完成后,您不仅可以在以后更改存储页面的位置,还可以更改执行方式(一次性更改块)。

你们其余的应用程序只需要调用该函数,你不需要再关心其余的代码了。

然后,您可以测试哪种方法/变体更快。