diff options
author | rinpatch <rinpatch@sdf.org> | 2019-08-15 17:41:26 +0300 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-08-15 18:05:50 +0300 |
commit | 1ad71592adb47762287aec8c36d0fca565c38362 (patch) | |
tree | e82d0156c7069c6c36345a2889a6e94e074c908e /lib/mix/tasks/pleroma/benchmark.ex | |
parent | 9fb71ce7f44ec4824f9b7e2acbc89d0d16ad08bf (diff) | |
download | pleroma-1ad71592adb47762287aec8c36d0fca565c38362.tar.gz |
Parallelize template rendering
Diffstat (limited to 'lib/mix/tasks/pleroma/benchmark.ex')
-rw-r--r-- | lib/mix/tasks/pleroma/benchmark.ex | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/lib/mix/tasks/pleroma/benchmark.ex b/lib/mix/tasks/pleroma/benchmark.ex index a45940bf3..4cc634727 100644 --- a/lib/mix/tasks/pleroma/benchmark.ex +++ b/lib/mix/tasks/pleroma/benchmark.ex @@ -37,17 +37,37 @@ defmodule Mix.Tasks.Pleroma.Benchmark do |> 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() - Benchee.run(%{ - "render_timeline" => fn -> - Pleroma.Web.MastodonAPI.StatusView.render("index.json", %{ - activities: activities, - for: user, - as: :activity - }) - end - }) + 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 |