凤凰模板渲染速度慢,链接和辅助功能

时间:2015-11-29 22:11:25

标签: elixir phoenix-framework

我发现使用link函数和生成的路径帮助函数来缓慢渲染模板。

例如,我运行mix phoenix.gen.html Author authors name:string

index.html.eex内有

<%= for author <- @authors do %> # ... <%= link "Show", to: author_path(@conn, :show, author) %> <% end %>

1,500位作者记录的响应时间超过2秒。但是,如果我用link注释掉上述author_path函数,则响应时间仅为9毫秒。无论哪种情况,数据库查询时间都相同(4ms)。

我尝试删除link并仅打印author_path(@conn, :show, author)。这有帮助,但响应时间仍然超过500毫秒。

感谢您就如何找到这种缓慢性能的来源提出任何建议。

1 个答案:

答案 0 :(得分:6)

这是因为Elixir 1.2之前的协议未在开发中进行整合。你会发现,如果你在prod中运行,你的渲染将快速闪电。如果你跳过Elixir 1.2,协议总是被合并,即使是在开发中。