2009-11-11 98 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