diff options
Diffstat (limited to 'benchmarks/mix/tasks')
| -rw-r--r-- | benchmarks/mix/tasks/pleroma/benchmarks/tags.ex | 38 | 
1 files changed, 34 insertions, 4 deletions
| diff --git a/benchmarks/mix/tasks/pleroma/benchmarks/tags.ex b/benchmarks/mix/tasks/pleroma/benchmarks/tags.ex index 657403202..c051335a5 100644 --- a/benchmarks/mix/tasks/pleroma/benchmarks/tags.ex +++ b/benchmarks/mix/tasks/pleroma/benchmarks/tags.ex @@ -5,7 +5,6 @@ defmodule Mix.Tasks.Pleroma.Benchmarks.Tags do    import Ecto.Query    alias Pleroma.Repo -  alias Pleroma.Web.MastodonAPI.TimelineController    def run(_args) do      Mix.Pleroma.start_pleroma() @@ -37,7 +36,7 @@ defmodule Mix.Tasks.Pleroma.Benchmarks.Tags do      Benchee.run(        %{          "Hashtag fetching, any" => fn tags -> -          TimelineController.hashtag_fetching( +          hashtag_fetching(              %{                "any" => tags              }, @@ -47,7 +46,7 @@ defmodule Mix.Tasks.Pleroma.Benchmarks.Tags do          end,          # Will always return zero results because no overlapping hashtags are generated.          "Hashtag fetching, all" => fn tags -> -          TimelineController.hashtag_fetching( +          hashtag_fetching(              %{                "all" => tags              }, @@ -67,7 +66,7 @@ defmodule Mix.Tasks.Pleroma.Benchmarks.Tags do      Benchee.run(        %{          "Hashtag fetching" => fn tag -> -          TimelineController.hashtag_fetching( +          hashtag_fetching(              %{                "tag" => tag              }, @@ -80,4 +79,35 @@ defmodule Mix.Tasks.Pleroma.Benchmarks.Tags do        time: 5      )    end + +  defp hashtag_fetching(params, user, local_only) do +    tags = +      [params["tag"], params["any"]] +      |> List.flatten() +      |> Enum.uniq() +      |> Enum.filter(& &1) +      |> Enum.map(&String.downcase(&1)) + +    tag_all = +      params +      |> Map.get("all", []) +      |> Enum.map(&String.downcase(&1)) + +    tag_reject = +      params +      |> Map.get("none", []) +      |> Enum.map(&String.downcase(&1)) + +    _activities = +      params +      |> Map.put(:type, "Create") +      |> Map.put(:local_only, local_only) +      |> Map.put(:blocking_user, user) +      |> Map.put(:muting_user, user) +      |> Map.put(:user, user) +      |> Map.put(:tag, tags) +      |> Map.put(:tag_all, tag_all) +      |> Map.put(:tag_reject, tag_reject) +      |> Pleroma.Web.ActivityPub.ActivityPub.fetch_public_activities() +  end  end | 
