Rails框架的部分功能对于视图非常有用。如果在项目中使用太多部分内容,是否会使程序加载速度变慢?
答案 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上变得明显。