【发布时间】:2011-12-14 16:20:01
【问题描述】:
使用include 文件很常见。我认为在不考虑性能的情况下保持代码整洁是过度使用的。对于几个includes,磁盘应该读取文件,并且由于我们非常使用磁盘,这可能是一个缓慢的过程。但是,这不是主要的缓慢过程或限速过程,因为使用file_get_contents 加载文件要快几倍。
我认为这就是主要网站将 javascripts 放在 html 文件中而不是按文件加载它们的原因。或者,最好将一个大的 JS 文件拆分成几个小的 JS 文件,因为并行 http 请求可以更快地加载整个 JS 代码。但这和php文件不同,php脚本在这个过程中会一一读取include文件。
请评论这个问题有多严重?试想一个网页0.60s加载,10个php文件中的
include能把它变成0.70s吗?虽然这种影响应该可以忽略不计,但我想知道是否有加快此过程的方法。我不是指像
APC这样的php 缓存。
P.S.这个问题不是为了实际应用(典型案例),而是一般的理论考虑。
【问题讨论】:
-
使用
include应该非常快,如果启用 APC 甚至更快。你在这里追错了。 -
此外,由于连接处理开销,并行请求通常较慢。只需合并所有 JS 文件并将它们放在您的文档根目录中,然后让您的 Web 服务器 (Apache) 处理缓存。
-
这可能非常严重...如果您使用的是 70 年代的机器:p 您需要 PHP 代码运行多“快”? 0.1s重要吗?与高度可重用、灵活和可扩展的架构相比,它有多糟糕?
-
结合JS意味着需要更少的请求,从而允许其他文件填满并行下载队列(我认为限制一般为4个),但“分块”有一个优势(只组合起来限制,例如 20-100KiB):用户可以在所有代码下载之前运行一些代码。如果某人的连接速度很慢,并且您的网站在没有几个关键 JS 文件的情况下完全无法使用(在我看来这是一个糟糕的设计),他们会很高兴能够早点做某事。跨度>
标签: php file filesystems include