Files
andros bdd181425b Initial commit: Django LiveView vs Phoenix LiveView benchmark
Docker Compose project with automated Playwright benchmarks comparing
django-liveview 2.2.0 against Phoenix LiveView 1.0 across 6 scenarios.
2026-05-15 15:46:50 +02:00

68 lines
1.3 KiB
Elixir

defmodule BenchmarkWeb do
def static_paths, do: ~w(assets fonts images favicon.ico robots.txt)
def router do
quote do
use Phoenix.Router, helpers: false
import Plug.Conn
import Phoenix.Controller
import Phoenix.LiveView.Router
end
end
def channel do
quote do
use Phoenix.Channel
end
end
def controller do
quote do
use Phoenix.Controller,
formats: [:html, :json],
layouts: [html: BenchmarkWeb.Layouts]
import Plug.Conn
end
end
def live_view do
quote do
use Phoenix.LiveView,
layout: {BenchmarkWeb.Layouts, :app}
end
end
def live_component do
quote do
use Phoenix.LiveComponent
end
end
def html do
quote do
use Phoenix.Component
import Phoenix.Controller, only: [get_csrf_token: 0, view_module: 1, view_template: 1]
unquote(html_helpers())
end
end
defp html_helpers do
quote do
import Phoenix.HTML
import Phoenix.HTML.Form
import BenchmarkWeb.CoreComponents
alias Phoenix.LiveView.JS
use Phoenix.VerifiedRoutes,
endpoint: BenchmarkWeb.Endpoint,
router: BenchmarkWeb.Router,
statics: BenchmarkWeb.static_paths()
end
end
defmacro __using__(which) when is_atom(which) do
apply(__MODULE__, which, [])
end
end