From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi1-x231.google.com (mail-oi1-x231.google.com [IPv6:2607:f8b0:4864:20::231]) by sourceware.org (Postfix) with ESMTPS id C05BF3858C50 for ; Fri, 24 Mar 2023 13:53:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C05BF3858C50 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-oi1-x231.google.com with SMTP id bk5so1307585oib.6 for ; Fri, 24 Mar 2023 06:53:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1679665992; h=content-transfer-encoding:in-reply-to:organization:from:references :to:content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=NQ36MhEw9P/OYNUx36l4xnDadNWsLgbXyX0LACRyVZI=; b=W51PBxsRSz3TZsSlBvvrFzWx9TeyoMrgkHo6gON9e//G08HQ2MicXdfZIfCD/eQexA 9DVEVFDsMkgAJIATfX8mJ8FRr+xVcKIoJo6wHtg58kVoJr2S2cRJC9oDDFSQXRh7L4+0 N5HwWMGQ+JKD+7b8yAphr3pKu0gIvZLHCTRkw44gr6cTSVCuj3m/1Y/T0R5Lp+CzW42s 45QpyVlfgCqOMgGI0t0vAs3YyvrEjOgBXi7OcBFwkTYFxzItMjLojfbonG/v/Z7MIPz0 hXh/W08X0EpJeEm36/JTzzTJMOYEMa2+3zMObSbHh3HFLXY/ldf/tTjl6Otnq1mgjnJ+ FDdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679665992; h=content-transfer-encoding:in-reply-to:organization:from:references :to:content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=NQ36MhEw9P/OYNUx36l4xnDadNWsLgbXyX0LACRyVZI=; b=LkN3D1/Nv2+QKjfzvUI8EkBComulfL6QMHiibLiR0wwN7f7CSBDxkc95bp0iC8aXdg yiBf4CLUJMWv+KyHmxWGdPyuK3Y3YAGjCZCvzwNf0m9NZ91HJERo5vq0CPvsuKIDMsMu QDnruMzo3IxwLU79S2h6TwErU1flqObAyQ8T4nGf+m+SziYfE4+FWYuMofkwX6405Y6O LRI2au3eaHPY9vk57gHs0HoyNoZW5ya9R+LeOhxhh67IOPcfl034HyHawtceMOTVZybs U185r5qByn5CyVodfTtDqq1h8YfBqo7R+LwMPd5wTAFqKw/n7l4W340yMEzr/GPevI5S 5qyg== X-Gm-Message-State: AO0yUKUogAlvVpRM1ZcEC92uhyWiQve6O3igmVums0EFRgm1ddJGH0q8 E3bviR4lruIG80Qo9MSDrgiKwPVUz7l0XB+gpRIYaw== X-Google-Smtp-Source: AK7set8SfrsjXHuYgcZFXUtvHLLQZKczVisE8BGpoxm5iVuYTF8FvIkthAPJs0CDfSPKV82extcZzA== X-Received: by 2002:aca:240e:0:b0:37f:b03f:66d7 with SMTP id n14-20020aca240e000000b0037fb03f66d7mr917034oic.54.1679665991415; Fri, 24 Mar 2023 06:53:11 -0700 (PDT) Received: from [192.168.15.100] (201-43-82-242.dsl.telesp.net.br. [201.43.82.242]) by smtp.gmail.com with ESMTPSA id r7-20020acada07000000b00383eaf88e75sm1690857oig.39.2023.03.24.06.52.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 24 Mar 2023 06:53:00 -0700 (PDT) Message-ID: Date: Fri, 24 Mar 2023 10:51:34 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [PATCH] Benchtests: Adjust timing Content-Language: en-US To: libc-alpha@sourceware.org, Wilco Dijkstra References: From: Adhemerval Zanella Netto Organization: Linaro In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-10.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_LOTSOFHASH,NICE_REPLY_A,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 23/03/23 08:44, Wilco Dijkstra via Libc-alpha wrote: > > Adjust iteration counts so benchmarks don't run too slowly or quickly. > Ensure benchmarks take less than 10 seconds on older, slower cores and > more than 0.5 seconds on fast cores. LGTM, thanks. Reviewed-by: Adhemerval Zanella > > --- > > diff --git a/benchtests/bench-bzero.c b/benchtests/bench-bzero.c > index 7ff04f2d2fcea7d32c45ef4cf032032031773065..5e891ce87549d017587df4fc2a4cdaba788b4093 100644 > --- a/benchtests/bench-bzero.c > +++ b/benchtests/bench-bzero.c > @@ -51,7 +51,7 @@ IMPL (memset_zero, 0) > static void > do_one_test (json_ctx_t *json_ctx, impl_t *impl, CHAR *s, size_t n) > { > - size_t i, iters = INNER_LOOP_ITERS_LARGE; > + size_t i, iters = INNER_LOOP_ITERS8; > timing_t start, stop, cur; > > TIMING_NOW (start); > diff --git a/benchtests/bench-hash-funcs.c b/benchtests/bench-hash-funcs.c > index 5e7e5022307cf58058f76b64ab3fb4ee84462438..4a6858c0217bc3932da665ae9c74427beb7b8836 100644 > --- a/benchtests/bench-hash-funcs.c > +++ b/benchtests/bench-hash-funcs.c > @@ -42,7 +42,7 @@ enum > { > NFIXED_ITERS = 1048576, > NRAND_BUFS = 16384, > - NRAND_ITERS = 2048, > + NRAND_ITERS = 256, > RAND_BENCH_MAX_LEN = 128 > }; > > diff --git a/benchtests/bench-memccpy.c b/benchtests/bench-memccpy.c > index 51ed8dad2f5033fc337a7b7422272c48480b2e93..a26ed7eee2374d12d6bef5e721f941d9c5ddcc6a 100644 > --- a/benchtests/bench-memccpy.c > +++ b/benchtests/bench-memccpy.c > @@ -41,7 +41,7 @@ static void > do_one_test (impl_t *impl, void *dst, const void *src, int c, size_t len, > size_t n) > { > - size_t i, iters = INNER_LOOP_ITERS_LARGE; > + size_t i, iters = INNER_LOOP_ITERS_LARGE * 4; > timing_t start, stop, cur; > > TIMING_NOW (start); > diff --git a/benchtests/bench-memchr.c b/benchtests/bench-memchr.c > index 90bd3879e32e81950c633cf7f2d4f3f6a92d2311..1a9bf511188f8ec511b10e92632b5ed1dbd3e445 100644 > --- a/benchtests/bench-memchr.c > +++ b/benchtests/bench-memchr.c > @@ -51,7 +51,7 @@ static void > do_one_test (json_ctx_t *json_ctx, impl_t *impl, const CHAR *s, int c, > size_t n) > { > - size_t i, iters = INNER_LOOP_ITERS; > + size_t i, iters = INNER_LOOP_ITERS8 / 2; > timing_t start, stop, cur; > > TIMING_NOW (start); > diff --git a/benchtests/bench-memcpy-random.c b/benchtests/bench-memcpy-random.c > index a0753b60e02c677f50de1220c785f4f7214d6bb0..48cb64d533c5e5867226552ee5d9a84da256ef2f 100644 > --- a/benchtests/bench-memcpy-random.c > +++ b/benchtests/bench-memcpy-random.c > @@ -127,7 +127,7 @@ do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, char *src, > copy_t *copy, size_t n) > { > timing_t start, stop, cur; > - size_t iters = INNER_LOOP_ITERS_MEDIUM; > + size_t iters = INNER_LOOP_ITERS_MEDIUM / 2; > > for (int j = 0; j < n; j++) > CALL (impl, dst + copy[j].dst, src + copy[j].src, copy[j].len); > diff --git a/benchtests/bench-memcpy.c b/benchtests/bench-memcpy.c > index 1fd41c035fe4fae74d576f38db78ad2eadb8748a..5be09966e0eace1aed1d4625df5f24f4cbc07214 100644 > --- a/benchtests/bench-memcpy.c > +++ b/benchtests/bench-memcpy.c > @@ -38,7 +38,7 @@ static void > do_one_test (json_ctx_t *json_ctx, impl_t *impl, char *dst, const char *src, > size_t len) > { > - size_t i, iters = INNER_LOOP_ITERS; > + size_t i, iters = INNER_LOOP_ITERS / 2; > timing_t start, stop, cur; > for (i = 0; i < iters / 64; ++i) > { > diff --git a/benchtests/bench-memset.c b/benchtests/bench-memset.c > index 1e785e6c8f6411aa34d205a219abd8b5d29a7f4e..e68b14201e097678847a9fba2bad76fb20970491 100644 > --- a/benchtests/bench-memset.c > +++ b/benchtests/bench-memset.c > @@ -43,7 +43,7 @@ static void > do_one_test (json_ctx_t *json_ctx, impl_t *impl, CHAR *s, > int c __attribute ((unused)), size_t n) > { > - size_t i, iters = INNER_LOOP_ITERS_LARGE; > + size_t i, iters = INNER_LOOP_ITERS; > timing_t start, stop, cur; > > TIMING_NOW (start); > diff --git a/benchtests/bench-strcat.c b/benchtests/bench-strcat.c > index 96383ce06a5aa88d0ca1bbd20b3b2826e40f14f2..08a19e53c9fc4208c59f5d2bade64594e2005bcd 100644 > --- a/benchtests/bench-strcat.c > +++ b/benchtests/bench-strcat.c > @@ -52,7 +52,7 @@ IMPL (generic_strcat, 0) > static void > do_one_test (json_ctx_t *json_ctx, impl_t *impl, CHAR *dst, const CHAR *src) > { > - size_t k = STRLEN (dst), i, iters = INNER_LOOP_ITERS_LARGE; > + size_t k = STRLEN (dst), i, iters = INNER_LOOP_ITERS_LARGE / CHARBYTES; > timing_t start, stop, cur; > > if (CALL (impl, dst, src) != dst) > diff --git a/benchtests/bench-strcmp.c b/benchtests/bench-strcmp.c > index 65fd04b43a2aeaab85ee4996f083333a32d7b29f..f696f074fcc7d56e967eabbf3b5c48600e8fc0f5 100644 > --- a/benchtests/bench-strcmp.c > +++ b/benchtests/bench-strcmp.c > @@ -50,7 +50,7 @@ do_one_test (json_ctx_t *json_ctx, impl_t *impl, > const CHAR *s1, const CHAR *s2, > int exp_result) > { > - size_t i, iters = INNER_LOOP_ITERS; > + size_t i, iters = INNER_LOOP_ITERS8 / 2; > timing_t start, stop, cur; > > TIMING_NOW (start); > diff --git a/benchtests/bench-strlen.c b/benchtests/bench-strlen.c > index 9b91f8a10ef0621cf2bc8310d8f08bd978b6d898..cae88dd6ec1794709fdf36a373896dd2d9d285dd 100644 > --- a/benchtests/bench-strlen.c > +++ b/benchtests/bench-strlen.c > @@ -48,7 +48,7 @@ IMPL (STRLEN, 1) > static void > do_one_test (json_ctx_t *json_ctx, impl_t *impl, const CHAR *s, size_t exp_len) > { > - size_t len = CALL (impl, s), i, iters = INNER_LOOP_ITERS8; > + size_t len = CALL (impl, s), i, iters = INNER_LOOP_ITERS_LARGE; > timing_t start, stop, cur; > > if (len != exp_len) > diff --git a/benchtests/bench-strncpy.c b/benchtests/bench-strncpy.c > index 83a88f658318f16a13c476a3a0bd685ee0e4d889..d90e3c55e28c1ce88ae660a74972bc4374c142f2 100644 > --- a/benchtests/bench-strncpy.c > +++ b/benchtests/bench-strncpy.c > @@ -57,7 +57,7 @@ static void > do_one_test (json_ctx_t *json_ctx, impl_t *impl, CHAR *dst, const CHAR *src, > size_t len, size_t n) > { > - size_t i, iters = INNER_LOOP_ITERS_LARGE * (4 / CHARBYTES); > + size_t i, iters = INNER_LOOP_ITERS_LARGE / CHARBYTES; > timing_t start, stop, cur; > > if (CALL (impl, dst, src, n) != STRNCPY_RESULT (dst, len, n)) > >