是否有太多的部分使用Rails使程序速度变慢?

时间:2015-07-27 00:46:58

标签: ruby-on-rails partial

Rails框架的部分功能对于视图非常有用。如果在项目中使用太多部分内容,是否会使程序加载速度变慢?

2 个答案:

答案 0 :(得分:1)

不,不应该。事实上,利用子视图而不是单一的巨型视图是首选的做事方式。如果你使用像RubyMine这样的Ruby IDE,当你的单个视图开始变得太大时,如果你使用子视图,那么它实际上会抱怨。

答案 1 :(得分:0)

我认为应该。从下面的日志中可以看出,大量相同部分的渲染时间是变化的:

I,[2015-07-27T03:02:57.328508#8369]信息 - :渲染属性/ _property.html.erb(13.9ms) I,[2015-07-27T03:02:57.338626#8369]信息 - :渲染的属性/ _property.html.erb(8.6ms) I,[2015-07-27T03:02:57.348418#8369]信息 - :渲染的属性/ _property.html.erb(8.4ms) I,[2015-07-27T03:02:57.361821#8369]信息 - :渲染属性/ _property.html.erb(11.7ms) I,[2015-07-27T03:02:57.373611#8369]信息 - :渲染的属性/ _property.html.erb(10.5ms) I,[2015-07-27T03:02:57.386695#8369]信息 - :渲染的属性/ _property.html.erb(11.4ms) I,[2015-07-27T03:02:57.398740#8369]信息 - :渲染的属性/ _property.html.erb(10.3ms) I,[2015-07-27T03:02:57.411959#8369]信息 - :渲染属性/ _property.html.erb(10.9ms) I,[2015-07-27T03:02:57.424705#8369]信息 - :渲染的属性/ _property.html.erb(10.5ms) I,[2015-07-27T03:02:57.437990#8369]信息 - :渲染的属性/ _property.html.erb(11.3ms) I,[2015-07-27T03:02:57.449926#8369]信息 - :渲染属性/ _property.html.erb(9.5ms) I,[2015-07-27T03:02:57.459979#8369]信息 - :渲染的属性/ _property.html.erb(8.7ms) I,[2015-07-27T03:02:57.472241#8369]信息 - :渲染属性/ _property.html.erb(10.7ms) I,[2015-07-27T03:02:57.482611#8369]信息 - :渲染的属性/ _property.html.erb(9.0ms) I,[2015-07-27T03:02:57.494238#8369]信息 - :渲染的属性/ _property.html.erb(10.5ms) I,[2015-07-27T03:02:57.519543#8369]信息 - :渲染的属性/ _property.html.erb(14.6ms) I,[2015-07-27T03:02:57.531808#8369]信息 - :渲染属性/ _property.html.erb(11.1ms) I,[2015-07-27T03:02:57.545017#8369]信息 - :渲染属性/ _property.html.erb(11.2ms)

在这个特定的日志中,部分之间的时间分布并不那么大。但是,有时一个部分加载1ms而下一个部分加载10ms。这可能主要是由于部分中的SQL延迟,但无论如何在部分执行期间的资源分配将需要一些时间,并且它可能在大N上变得明显。