Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Random inputs in range [-20.00,20.00].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random input in range [-10,10].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random inputs in range [1.00,21.00]
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Vector variants of the new C23 exp2m1 & exp10m1 routines.
Note: Benchmark inputs for exp2m1 & exp10m1 are identical to exp2 & exp10
respectively, this also includes the floating point variations.
Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
|
|
Changes with respect to v1:
- added missing rsqrt and rsqrtf in bench-math
|
|
These files were prepared together with Saban Houssein.
|
|
Use uint16_t rather than uint8_t for the size arrays.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
|
|
This reverts commit 09604542d31abf1e35cd00c1db8d9bee9568bdd0.
|
|
Use uint16_t rather than uint8_t for the size arrays.
|
|
Change duration to 3 seconds. Add spaces before '('.
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Commit 934d88d used inputs with exponent generated at random in the
whole binary64 exponent range, which yields essentially very large
or very small values of |y/x|. Instead, this commit generates x, y at
random in [-10,10], which should better corresponds to real applications.
Reviewed-by: Florian Weimer <fweimer@redhat.com>
|
|
Random IP addresses in the full range. There is no extra workload
to check the effectiveness '::' optimization for a set of 0-oct
sets (although it would be a possible workload).
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random IP addresses in the full range.
Reviewed-by: Collin Funk <collin.funk1@gmail.com>
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
It adds four ranges, which is how the generic implementation handles
normal numbers:
1. Random inputs in the range [0.0, 1.0];
2. Random inputs in the range [1.0, (double)(UINT64_C(1) << 52))];
3. Random inputs in the range [(double)(UINT64_C(1) << 52), DBL_MAX];
4. Random integral inputs in the range [0.0, (double)(UINT64_C(1) << 52)].
Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
|
|
It adds four ranges, which is how the generic implementation handles
normal numbers:
1. Random inputs in the range [0.0, 1.0];
2. Random inputs in the range [1.0, (float)(1U << 23)];
3. Random inputs in the range [(float)(1U << 23), FLT_MAX];
4. Random integral inputs in the range [0.0, (float)(1U << 23)].
Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
|
|
Add initial inputs for asinpi(f), acospi(f), atanpi(f) and atan2pi(f) based
on existing asin/acos/atan inputs.
Benchtests now works on the new libmvec function.
Reviewed-by: Yury Khrustalev <yury.khrustalev@arm.com>
|
|
Existing benchtests for malloc infrastructure seem to be rather generic
to test global malloc implementation performance. This new benchtest
focus on reducing any non tcache related side effects, allowing to more
realistically predict performance impacts of tcache code changes.
The test was inpired in bench-[cm]alloc-thread code, with severe
simplifications:
- forces single thread execution, reducing concurrency side-effects,
like cache incoherence penalties due simultaneous writes to the same
cache pages;
- Focus on allocating and deallocating a single size for all the
duration of the benchmark. Since all it does is allocate and
deallocate, it will measure the tcache hotpath without any
side-effects.
- Allows to specify the allocation size as input argument.
Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
|
|
|
|
|
|
changes in v2:
* fixed the missing Makefile entry in the first version
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
|
|
This patch changes the shell script that selects which arguments are used
for the execution of bench-malloc-thread.
The problem seems to have been introduced in commit:
commit 2d6427a63cad8056ba6bcaaaa8df21977c8dde3d
Author: Wangyang Guo <wangyang.guo@intel.com>
Date: Fri Nov 29 16:05:35 2024 +0800
benchtests: Add calloc test
With current condition, the following error "/bin/sh: 3: [[: not found"
occurs when executing `make bench BENCHSET="malloc-thread"` and the else
path is taken, using incorrect arguments for bench test execution.
Error is reproducible in Debian based distros.
Reviewed-by: Florian Weimer <fweimer@redhat.com>
|
|
Increase iterations so it runs for ~1 second on modern CPUs.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
On SPR, it improves atanh bench performance by:
Before After Improvement
reciprocal-throughput 15.1715 14.8628 2%
latency 57.1941 56.1883 2%
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
|
|
On SPR, it improves sinh bench performance by:
Before After Improvement
reciprocal-throughput 14.2017 11.815 17%
latency 36.4917 35.2114 4%
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
|
|
|
|
The SIGCANCEL signal handler should not issue __syscall_do_cancel,
which calls __do_cancel and __pthread_unwind, if the cancellation
is already in proces (and libgcc unwind is not reentrant). Any
cancellation signal received after is ignored.
Checked on x86_64-linux-gnu and aarch64-linux-gnu.
Tested-by: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: Florian Weimer <fweimer@redhat.com>
|
|
Add a new randomized strlen test similar to bench-random-memcpy. Instead of
repeating the same call to strlen over and over again, it times a large number
of different strings. The distribution of the string length and alignment is
based on SPEC2017.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
Adjust sizes between 64KB and 16MB and iterations based on length.
Remove incorrect uses of alloc_bufs since we're not interested in measuring
Linux clear_page time. Use getpagesize() - 1 instead of 4095 when
aligning within a page.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
|
Random inputs in the range of [-4,4].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random inputs in the range of [-4,4].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random inputs in the range of [-4,4].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random inputs in the range of [-10,10].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random inputs in the range of [-10,10].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random inputs in the range of [-1,1].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random inputs in the range of [-1,1].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
This fixes an AArch64 build failure:
python3 -B ../sysdeps/aarch64/fpu/scripts/bench_libmvec_advsimd.py bench-float-advsimd-cospi > …/benchtests/bench-float-advsimd-cospi.c
Traceback (most recent call last):
File "…/sysdeps/aarch64/fpu/scripts/bench_libmvec_advsimd.py", line 106, in <module>
main(sys.argv[1])
~~~~^^^^^^^^^^^^^
File "…/sysdeps/aarch64/fpu/scripts/bench_libmvec_advsimd.py", line 81, in main
with open(f"../benchtests/libmvec/{input_filename}") as f:
~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '../benchtests/libmvec/cospif-inputs'
|
|
|
|
Add __attribute_optimization_barrier__ to disable inlining and cloning on a
function. For Clang, expand it to
__attribute__ ((optnone))
Otherwise, expand it to
__attribute__ ((noinline, clone))
Co-Authored-By: H.J. Lu <hjl.tools@gmail.com>
Reviewed-by: Sam James <sam@gentoo.org>
|
|
Random inputs in the range [-10,10].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random inputs in the range [-10,10].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random inputs in the range [-10,10].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
The input is based on acosf one (random inputs in [-1,1]).
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random inputs in the range [-10,10].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random inputs in the range [-10,10].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random inputs in the range [-10,10].
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
The input is based on acosf one (random inputs in [-1,1]).
Reviewed-by: DJ Delorie <dj@redhat.com>
|
|
Random inputs in the range [1,21].
Reviewed-by: DJ Delorie <dj@redhat.com>
|