diff options
author | lain <lain@soykaf.club> | 2019-08-24 15:48:33 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2019-08-24 15:48:33 +0200 |
commit | cc6c0b4ba6762e6a9b0a90c3dcda3f95283eb22a (patch) | |
tree | e80078875de15734e045f39e0bd9f82310961201 /lib/mix/tasks/pleroma/benchmark.ex | |
parent | 0e2b5a3e6aed7947909c2a1ff1618403546f1572 (diff) | |
parent | bc78a875c86db42d67122cfb767f239a55dacbea (diff) | |
download | pleroma-cc6c0b4ba6762e6a9b0a90c3dcda3f95283eb22a.tar.gz |
Merge remote-tracking branch 'origin/develop' into sixohsix/pleroma-post_expiration
Diffstat (limited to 'lib/mix/tasks/pleroma/benchmark.ex')
-rw-r--r-- | lib/mix/tasks/pleroma/benchmark.ex | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/mix/tasks/pleroma/benchmark.ex b/lib/mix/tasks/pleroma/benchmark.ex index 5222cce80..4cc634727 100644 --- a/lib/mix/tasks/pleroma/benchmark.ex +++ b/lib/mix/tasks/pleroma/benchmark.ex @@ -26,4 +26,48 @@ defmodule Mix.Tasks.Pleroma.Benchmark do end }) end + + def run(["render_timeline", nickname]) do + start_pleroma() + user = Pleroma.User.get_by_nickname(nickname) + + activities = + %{} + |> Map.put("type", ["Create", "Announce"]) + |> Map.put("blocking_user", user) + |> Map.put("muting_user", user) + |> Map.put("user", user) + |> Map.put("limit", 80) + |> Pleroma.Web.ActivityPub.ActivityPub.fetch_public_activities() + |> Enum.reverse() + + inputs = %{ + "One activity" => Enum.take_random(activities, 1), + "Ten activities" => Enum.take_random(activities, 10), + "Twenty activities" => Enum.take_random(activities, 20), + "Forty activities" => Enum.take_random(activities, 40), + "Eighty activities" => Enum.take_random(activities, 80) + } + + Benchee.run( + %{ + "Parallel rendering" => fn activities -> + Pleroma.Web.MastodonAPI.StatusView.render("index.json", %{ + activities: activities, + for: user, + as: :activity + }) + end, + "Standart rendering" => fn activities -> + Pleroma.Web.MastodonAPI.StatusView.render("index.json", %{ + activities: activities, + for: user, + as: :activity, + parallel: false + }) + end + }, + inputs: inputs + ) + end end |