可以定义很多常量会导致性能或内存问题吗?

时间:2011-08-15 06:11:42

标签: php performance memory

我有一个使用大量常量的网站,例如:

define('CONSTANT', 1)

我目前有一个大约200个这样的定义列表。每次页面加载时都会运行此列表。这会严重影响我的表现或记忆力吗?

4 个答案:

答案 0 :(得分:10)

有理由避免在每个页面加载时列出200个常量,但性能和内存使用量不会在其中。一般来说,回答这类问题的最佳方法是运行基准测试。无论是否加载200常量,都可以测量页面加载时间和内存使用情况。测量几千次并查看数字。我怀疑你会发现一个微不足道的差异。微优化通常是浪费时间。

答案 1 :(得分:4)

我想象不到。您的脚本是否存在性能问题?如果没有,那就不用担心了。如果是这样,那么你做了什么来确定瓶颈在哪里?

如果你需要知道用你的定义包含和解析文件需要多长时间,那么我建议你计时。

$start = microtime (true);
include ('file_to_include.php');
echo (microtime (true) - $start);

答案 2 :(得分:1)

为什么要定义所有内容?如果你有很多流量,它可能只会减慢你的速度。如果你把它们全部用于我可以看到它减慢它非常好。是什么原因可能有更好的方法(我从来不需要超过5个常数)

答案 3 :(得分:0)

我认为它不会比读取包含200个常量的文件产生更大的影响,然后它将再次由磁盘缓存进行优化。至少它比从数据库中读取200个常量更好。如果您关心性能,请安装操作缓存,因此,每次都不需要任何额外的解析。对于内存,它取决于常量的类型,但它不会太多。