2009-11-11 102 views

回答

1

是的。使用动态URL生成(link_to,url_for)使轨道查找路由表,并可能消耗时间。

话虽如此,这些来得方便,同时生成一个链接,需要发送一个delete/put请求,因为它需要在内部处理很多事情。所以我会说,使用它们,但要明智地使用它们,只有当你知道它们为此保存了大量的维护或其他原因时。

此外,当涉及到性能时,有several techniques来增强它。 Rails caching(页面,片段,动作)是一个。此外,您可能还想过去查看this question I had asked

+0

什么是-1? – Chirantan 2009-11-11 04:56:10

+0

+1的信息,虽然我并不同意这种看法:“所以,我要说,使用它们,但使用它们明智地,只有当你知道他们节省了大量的维护或其他一些原因这个问题的。”我认为这是一个明显的过早优化案例。 ;-) – 2011-04-09 14:28:17

6

是的,它们比手动编码链接要慢。请参阅Stefan Kayes关于common performance problems with Rails的演示文稿(但意识到这是从2006年开始的,所以有点过时)。

也就是说,我认为这不重要99%的时间。大多数网站从来没有看到过这种情况的流量,如果你这样做,你通常可以添加缓存来提高性能,而不是摆脱这些帮助者。

一如既往,在优化之前基准您的特定情况。

+1

卢克击败了我。 我会强调“不要担心”。基于问题的基调,我不相信你正处于全面优化项目阶段。所以,不,我认为目前对您没有任何表现*担忧。尽可能获得发展速度的好处。 OSS的妙处在于,你所需要开始优化的时候,该项目可能已经大大提高了给定方法的性能。总之,这绝对不是你首先关注的表现,也不是你最重要的表现调整。 – 2009-11-11 04:10:31

+0

感谢卢克和巴里 - 我们绝对不是处于优化模式 - 更多是发现最佳实践模式。 – Trey 2009-11-11 14:40:19

+1

更重要的是,我跟一些同事在这里,我们可以肯定出现了这些电话的重优化(路由优化,真的),因为文章写。 – 2009-11-11 15:30:36