From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id 1AFD24CF1E
	for <ffmpegdev@gitmailbox.com>; Tue, 15 Apr 2025 18:15:48 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7AE8F687D57;
	Tue, 15 Apr 2025 21:14:48 +0300 (EEST)
Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net
 [217.70.183.199])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4428D687D29
 for <ffmpeg-devel@ffmpeg.org>; Tue, 15 Apr 2025 21:14:39 +0300 (EEST)
Received: by mail.gandi.net (Postfix) with ESMTPSA id A080B43969
 for <ffmpeg-devel@ffmpeg.org>; Tue, 15 Apr 2025 18:14:38 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc;
 s=gm1; t=1744740878;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:mime-version:mime-version:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=OR36c99TQUO0QjwhuiiC2h8nrI5I0QIi9Slj86px1FA=;
 b=Jl8nZiMV/WnoU+e8AnFAYPmMLNc+HY7yu9qAmMK8ZAtTpIOMpTi43hWA0gOQOpP8Krp8hs
 PxeDsjoiKCJjGVILD1cjV9tNl7ZzPb0crOHFP4ruOEn5JtM2e94nbAXSXKtcflVpHW4Bzm
 drFNsYmEE+iQuP1hzW1xOBZEoM3EO4iuDzTDZd32w4M+H7n7i16RZvntqbN8Qylh/8AT+1
 R6eTcjPpr8/ky6EhvM9QhOSfj6EUIs8pdWl4o5UyIBtpuw1dM1rmZVDg+NLzk9FRIp5aGs
 xCZ0KpSkQPjUeVQclkNX0axoQGUlN6d/BQHH4KT9ApQqZkNeL2gfxVMT7UT5xg==
From: Michael Niedermayer <michael@niedermayer.cc>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Date: Tue, 15 Apr 2025 20:14:33 +0200
Message-ID: <20250415181433.530161-6-michael@niedermayer.cc>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250415181433.530161-1-michael@niedermayer.cc>
References: <20250415181433.530161-1-michael@niedermayer.cc>
MIME-Version: 1.0
X-GND-State: clean
X-GND-Score: -70
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvvdegudekucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfghrlhcuvffnffculdeftddmnecujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefoihgthhgrvghlucfpihgvuggvrhhmrgihvghruceomhhitghhrggvlhesnhhivgguvghrmhgrhigvrhdrtggtqeenucggtffrrghtthgvrhhnpedvgfefudeijeetieejkefgfffhtdeludeuffdvfeelieevjeetvedufeetfeejfeenucfkphepgedurdeiiedrieejrdduudefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepgedurdeiiedrieejrdduudefpdhhvghloheplhhotggrlhhhohhsthdpmhgrihhlfhhrohhmpehmihgthhgrvghlsehnihgvuggvrhhmrgihvghrrdgttgdpnhgspghrtghpthhtohepuddprhgtphhtthhopehffhhmphgvghdquggvvhgvlhesfhhfmhhpvghgrdhorhhg
X-GND-Sasl: michael@niedermayer.cc
Subject: [FFmpeg-devel] [PATCH v2 6/6] [NOT for git] avutil/tests/map:
 benchmark code
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/20250415181433.530161-6-michael@niedermayer.cc/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavutil/tests/map.c | 56 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/libavutil/tests/map.c b/libavutil/tests/map.c
index 38f0a153e68..72bfafdb4f4 100644
--- a/libavutil/tests/map.c
+++ b/libavutil/tests/map.c
@@ -26,6 +26,8 @@
 #include "libavutil/mem.h"
 #include "libavutil/map.h"
 
+#include "libavutil/timer.h"
+#include "libavutil/dict.h"
 
 static void print_set(const AVMap *s)
 {
@@ -37,6 +39,7 @@ static void print_set(const AVMap *s)
 
 int main(void)
 {
+#if 0
     void *our_cmp[] = {
         strcmp,
         av_map_strcmp_keyvalue,
@@ -185,6 +188,59 @@ int main(void)
         av_map_free(&set);
         av_assert0(!set);
     }
+#else
+#define N_ENTRIES 1000
+#define P 4
+    for (int runs = 0; runs < 1000; runs++) {
+        AVMap *map = av_map_new(strcmp, NULL, NULL);
+        for(int pass = 0; pass < 2; pass++) {
+            START_TIMER
+            unsigned r = 5;
+            for(int i=0; i<N_ENTRIES; i++) {
+                r = r*123 + 7;
+                char str[7] = "TEST";
+                str[P  ] = r;
+                str[P+1] = r>>8;
+                if(pass == 0) {
+                    av_map_add(map, str, 7, str, 7, 0);
+                } else {
+                    av_map_get(map, str, strcmp);
+                }
+            }
+            if (pass) {
+                STOP_TIMER("av_map_get")
+            } else {
+                STOP_TIMER("av_map_add")
+            }
+        }
+        av_map_free(&map);
+    }
+
+    for (int runs = 0; runs < 1000; runs++) {
+        AVDictionary *dict = NULL;
+        for(int pass = 0; pass < 2; pass++) {
+            START_TIMER
+            unsigned r = 5;
+            for(int i=0; i<N_ENTRIES; i++) {
+                r = r*123 + 7;
+                char str[7] = "TEST";
+                str[P  ] = r;
+                str[P+1] = r>>8;
+                if(pass == 0) {
+                    av_dict_set(&dict, str, str, 0);
+                } else {
+                    av_dict_get(dict, str, NULL, 0);
+                }
+            }
+            if (pass) {
+                STOP_TIMER("av_dict_get")
+            } else {
+                STOP_TIMER("av_dict_set")
+            }
+        }
+        av_dict_free(&dict);
+    }
+#endif
 
     return 0;
 }
-- 
2.49.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".