[PATCH v4 1/3] random: add rte_drand() function
Stephen Hemminger
stephen at networkplumber.org
Thu May 26 17:28:05 CEST 2022
On Thu, 26 May 2022 15:20:29 +0200
Mattias Rönnblom <hofors at lysator.liu.se> wrote:
> > +#else
> > + /* Slower method requiring floating point divide
> > + *
>
> Do you know how much slower? I ran rand_perf_test on two of my systems.
>
> AMD 5900X Pi4 (ARM Cortex-A72)
> IEEE754 version 12 1.19
> Non-IEEE754 version 11 1.16
> Naive version* 24 1.16
>
> * (double)rte_rand() / (double)UINT64_MAX
>
> Numbers are TSC cycles/op.
>
> Surprisingly, it seems like the IEEE754 version is slower on both of
> these machines.
>
> Do you have a machine (or a different use case) where the supposedly
> more optimized version actually runs faster?
The direct method is based off the concept used by glibc and others
and the divide (including spelling error) are from FreeBSD.
Be careful with micro benchmarks. A better one would be do
rte_drand() compared with something to check whether it is in range.
More information about the dev
mailing list