From: lain <lain@soykaf.club>
Date: Mon, 20 Jan 2020 11:19:15 +0000 (+0100)
Subject: Add benchmark of any/all tag options
X-Git-Url: https://git.squeep.com/?a=commitdiff_plain;h=271afcd940b743b84fae2ee40245d1e0c53cc714;p=akkoma

Add benchmark of any/all tag options
---

diff --git a/benchmarks/mix/tasks/pleroma/benchmarks/tags.ex b/benchmarks/mix/tasks/pleroma/benchmarks/tags.ex
index 73796b5f9..fd1506907 100644
--- a/benchmarks/mix/tasks/pleroma/benchmarks/tags.ex
+++ b/benchmarks/mix/tasks/pleroma/benchmarks/tags.ex
@@ -31,6 +31,36 @@ defmodule Mix.Tasks.Pleroma.Benchmarks.Tags do
 
     user = Repo.all(Pleroma.User) |> List.first()
 
+    Benchee.run(
+      %{
+        "Hashtag fetching, any" => fn tags ->
+          Pleroma.Web.MastodonAPI.TimelineController.hashtag_fetching(
+            %{
+              "any" => tags
+            },
+            user,
+            false
+          )
+        end,
+        # Will always return zero results because no overlapping hashtags are generated.
+        "Hashtag fetching, all" => fn tags ->
+          Pleroma.Web.MastodonAPI.TimelineController.hashtag_fetching(
+            %{
+              "all" => tags
+            },
+            user,
+            false
+          )
+        end
+      },
+      inputs:
+        tags
+        |> Enum.map(fn {_, v} -> v end)
+        |> Enum.chunk_every(2)
+        |> Enum.map(fn tags -> {"For #{inspect(tags)}", tags} end),
+      time: 5
+    )
+
     Benchee.run(
       %{
         "Hashtag fetching" => fn tag ->