Add extended benchmark
This commit is contained in:
parent
43f02dfe38
commit
5a76d5d239
1 changed files with 32 additions and 8 deletions
|
@ -27,7 +27,7 @@ defmodule Mix.Tasks.Pleroma.Benchmark do
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
def run(["render_timeline", nickname]) do
|
def run(["render_timeline", nickname | _] = args) do
|
||||||
start_pleroma()
|
start_pleroma()
|
||||||
user = Pleroma.User.get_by_nickname(nickname)
|
user = Pleroma.User.get_by_nickname(nickname)
|
||||||
|
|
||||||
|
@ -37,17 +37,41 @@ defmodule Mix.Tasks.Pleroma.Benchmark do
|
||||||
|> Map.put("blocking_user", user)
|
|> Map.put("blocking_user", user)
|
||||||
|> Map.put("muting_user", user)
|
|> Map.put("muting_user", user)
|
||||||
|> Map.put("user", user)
|
|> Map.put("user", user)
|
||||||
|
|> Map.put("limit", 4096)
|
||||||
|> Pleroma.Web.ActivityPub.ActivityPub.fetch_public_activities()
|
|> Pleroma.Web.ActivityPub.ActivityPub.fetch_public_activities()
|
||||||
|> Enum.reverse()
|
|> Enum.reverse()
|
||||||
|
|
||||||
Benchee.run(%{
|
inputs = %{
|
||||||
"render_timeline" => fn ->
|
"1 activity" => Enum.take_random(activities, 1),
|
||||||
Pleroma.Web.MastodonAPI.StatusView.render("index.json", %{
|
"10 activities" => Enum.take_random(activities, 10),
|
||||||
activities: activities,
|
"20 activities" => Enum.take_random(activities, 20),
|
||||||
for: user,
|
"40 activities" => Enum.take_random(activities, 40),
|
||||||
as: :activity
|
"80 activities" => Enum.take_random(activities, 80)
|
||||||
|
}
|
||||||
|
|
||||||
|
inputs =
|
||||||
|
if Enum.at(args, 2) == "extended" do
|
||||||
|
Map.merge(inputs, %{
|
||||||
|
"200 activities" => Enum.take_random(activities, 200),
|
||||||
|
"500 activities" => Enum.take_random(activities, 500),
|
||||||
|
"2000 activities" => Enum.take_random(activities, 2000),
|
||||||
|
"4096 activities" => Enum.take_random(activities, 4096)
|
||||||
})
|
})
|
||||||
|
else
|
||||||
|
inputs
|
||||||
end
|
end
|
||||||
})
|
|
||||||
|
Benchee.run(
|
||||||
|
%{
|
||||||
|
"Standart rendering" => fn activities ->
|
||||||
|
Pleroma.Web.MastodonAPI.StatusView.render("index.json", %{
|
||||||
|
activities: activities,
|
||||||
|
for: user,
|
||||||
|
as: :activity
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
inputs: inputs
|
||||||
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue