gpt4 book ai didi

ruby-on-rails - 调用部分是一项昂贵的操作吗?

转载 作者:行者123 更新时间:2023-12-04 07:29:23 26 4
gpt4 key购买 nike

我可以随心所欲地使用局部,还是必须克制自己以避免在大量流量下使我的观点陷入困境?

最佳答案

使用 partial 有明显的开销,但这不是您应该担心的。

部分是文件。当你渲染一个没有部分的 Action 时,你的 Action “花费”1 个文件(这并不完全正确,但这是为了简化解释)。
如果您的操作呈现 4 个部分,则最终成本为 5。这意味着您有 4 个额外的 IO 调用,每个调用的实际成本取决于您的服务器负载、服务器性能等。

但这个成本重要吗?根据我的经验,99% 的情况下都没有。同样值得注意的是,在代码可读性和可维护性方面使用部分的好处通常是值得选择的。

如果性能必须是一个关键功能,您可能应该在其他地方寻找速度和改进。

请记住:Ruby 不是一种超快的编程语言,代码表达能力总是优先考虑性能。 Rails 含蓄地同意这个约定,尽管 Rails 团队一直专注于性能(而 Rails 3 是实际演示,总是有改进的地方)

也就是说,您可以安全地使用部分并通过一些巧妙的缓存机制减少应用程序开销。例如,您可以将集合渲染放置在 cache 中。块,以便渲染集合语句只执行一次,然后您的应用程序将只加载 1 个缓存文件,而不是 10 个未缓存的部分。

一开始我犯的最隐秘的错误之一就是担心以错误的方式表现,也就是说,没有实际运行基准测试。我记得有一次当我试图删除一个单一的数据库查询以支持硬编码的哈希时,因为“查询成本”,没有意识到还有另一个愚蠢的查询正在加载整个表集合而没有包含语句,这导致运行第二个查询慢 3 倍。

所以,如果你真的关心性能,你可能不应该避免使用部分,而是确保你利用 Rails 提供的所有其他特性来扩展你的应用程序。

关于ruby-on-rails - 调用部分是一项昂贵的操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1852649/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com