【问题标题】:Template performance: static files vs hardcoded DOM模板性能:静态文件 vs 硬编码 DOM
【发布时间】:2011-04-08 17:57:47
【问题描述】:

这个问题可能是理论上的,但我认为在某些情况下它是有道理的。 我只是想知道哪种解决方案最有效:加载 HTML 模板还是使用 DOM 函数构建它们?

两者都有优点/缺点,还有很多其他因素可以阻止它们中的任何一个:例如,很明显 DOM 编码的 HTML 不像静态的那样容易修改。

事实:有无数因素肯定会影响性能(磁盘 IO、内存、CPU、错误代码等)。

问题:使用 DOM 编码的 HTML(片段)作为模板是一种好习惯吗?或者在这种情况下,我可以使用字符串连接?

谢谢,法布里克

【问题讨论】:

    标签: php performance templates dom static


    【解决方案1】:

    模板速度更快,在我的测试用例中(我现在缺少的结果)与通过 DOM 创建 HTML 相比。

    [编辑]:对 OP 的澄清:

    正如我所说,很久以前(我认为是 6 到 8 个月)当我进行测试时,我丢失了结果。好吧,由于您只需要从磁盘加载一次数据,因此不会产生太大的差异。在我的测试中,我每页有 100 个变量。那将需要 DOM 插入元素 100 次或模板化 100 次。据我记得,结果显示模板的比例为 1:1.35(运行时间)。希望这会有所帮助。

    【讨论】:

    • 我的第一个赌注是磁盘 io 比生成相同数据的一些 cpu 周期要贵得多。您可以随时显示一些结果吗?看看测试用例是如何构建的以及差异有多大会很有趣。
    • 感谢您的解释。据我了解,您的模板是一个复杂的 HTML 页面,而不是一个片段(例如,像一个表格行)。我最初的好奇心是关于小片段,尤其是:保存/加载这些片段而不是直接生成是否值得?
    • 恕我直言,DOM 仍然需要加载类、创建对象和开销。虽然简单的模板只不过是字符串的串联和替换替换。所以,它应该更快。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 2014-03-20
    • 1970-01-01
    • 2019-07-18
    • 2013-11-04
    • 2013-06-18
    • 2013-02-17
    相关资源
    最近更新 更多