forked from bgrainger/FrameworkBenchmarks
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Minor optimisations to Elixir/Phoenix implementation (TechEmpower#3848)
* Completely disable as much logging as we can * Remove unneccessary middlewares * Switch to a different, faster, json encoder
- Loading branch information
1 parent
8941a47
commit 51b57df
Showing
7 changed files
with
26 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,10 @@ | ||
defmodule Hello.Endpoint do | ||
use Phoenix.Endpoint, otp_app: :hello | ||
|
||
# Serve at "/" the given assets from "priv/static" directory | ||
plug Plug.Static, | ||
at: "/", from: :hello, gzip: false, | ||
only: ~w(css images js favicon.ico robots.txt) | ||
|
||
# Code reloading will only work if the :code_reloader key of | ||
# the :phoenix application is set to true in your config file. | ||
if code_reloading? do | ||
socket "/phoenix/live_reload/socket", Phoenix.LiveReloader.Socket | ||
plug Phoenix.LiveReloader | ||
plug Phoenix.CodeReloader | ||
end | ||
|
||
plug Plug.Logger | ||
|
||
plug Plug.Parsers, | ||
parsers: [:urlencoded, :multipart, :json], | ||
parsers: [:json, :urlencoded, :multipart], | ||
pass: ["*/*"], | ||
json_decoder: Poison | ||
|
||
plug Plug.MethodOverride | ||
plug Plug.Head | ||
|
||
plug Plug.Session, | ||
store: :cookie, | ||
key: "_hello_key", | ||
signing_salt: "DNlAnJ2o" | ||
json_decoder: Jason | ||
|
||
plug Hello.Router | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,8 @@ | ||
defmodule Hello.Fortune do | ||
use Hello.Web, :model | ||
|
||
@derive {Poison.Encoder, only: [:id, :message]} | ||
@derive {Jason.Encoder, only: [:id, :message]} | ||
schema "fortune" do | ||
field :message, :string | ||
end | ||
|
||
@required_fields ~w(message)a | ||
@optional_fields ~w() | ||
|
||
def changeset(model, params \\ %{}) do | ||
model | ||
|> cast(params, @required_fields) | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,8 @@ | ||
defmodule Hello.World do | ||
use Hello.Web, :model | ||
|
||
@derive {Poison.Encoder, only: [:id, :randomnumber]} | ||
@derive {Jason.Encoder, only: [:id, :randomnumber]} | ||
schema "world" do | ||
field :randomnumber, :integer | ||
end | ||
|
||
@required_fields ~w(randomnumber)a | ||
@optional_fields ~w() | ||
|
||
def changeset(model, params \\ %{}) do | ||
model | ||
|> cast(params, @required_fields) | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters