Messages in this thread | | | From | Geert Uytterhoeven <> | Date | Mon, 9 Jan 2023 20:36:39 +0100 | Subject | Re: Dhrystone -- userland version |
| |
Hi Willy,
On Mon, Jan 9, 2023 at 3:31 PM Willy Tarreau <w@1wt.eu> wrote: > On Mon, Jan 09, 2023 at 10:28:09AM +0100, Geert Uytterhoeven wrote: > > On Mon, Jan 9, 2023 at 1:45 AM Theodore Ts'o <tytso@mit.edu> wrote: > > > On Sun, Jan 08, 2023 at 07:47:07PM +0100, Pavel Machek wrote: > > > > > However, as this is not Linux-specific, how hard can it be to convince > > > > > your distro to include https://github.com/qris/dhrystone-deb.git? > > > > > Usually, when I have a full userspace available, I just clone the above, > > > > > and debuild it myself. > > > > > > > > Dunno. I'd not solve it if package was in Debian, but it is not. > > > > > > I would suspect the better long-term solution would be to get the > > > package into Debian, since that will be easier for people to use. I > > > suspect the reason why most distros don't include it is because it > > > really is a **terrible** benchmark for most use cases. > > > > My use case is verifying the CPU core clock rate when working on > > the clock driver and/or cpufreq. I can easily measure e.g. SPI or > > UART clock rates > > externally, but not CPU core clock rates. > > Then maybe you'd rather use this: > > https://github.com/wtarreau/mhz
Thanks!
> E.g.: > > $ ./mhz 10 > count=1666675 us50=20089 us250=100748 diff=80659 cpu_MHz=4132.645 tsc50=42427696 tsc250=212780620 diff=102 rdtsc_MHz=2112.014 > count=1666675 us50=20271 us250=101282 diff=81011 cpu_MHz=4114.688 tsc50=42813060 tsc250=213905908 diff=102 rdtsc_MHz=2111.970 > count=1666675 us50=20405 us250=100344 diff=79939 cpu_MHz=4169.867 tsc50=43094116 tsc250=211927426 diff=101 rdtsc_MHz=2112.027 > count=1666675 us50=20239 us250=100249 diff=80010 cpu_MHz=4166.167 tsc50=42744302 tsc250=211727114 diff=101 rdtsc_MHz=2112.021 > count=1666675 us50=20182 us250=100482 diff=80300 cpu_MHz=4151.121 tsc50=42624768 tsc250=212217884 diff=101 rdtsc_MHz=2111.994 > count=1666675 us50=20153 us250=100151 diff=79998 cpu_MHz=4166.792 tsc50=42562818 tsc250=211519326 diff=101 rdtsc_MHz=2112.009 > count=1666675 us50=20281 us250=99803 diff=79522 cpu_MHz=4191.733 tsc50=42832298 tsc250=210784252 diff=100 rdtsc_MHz=2112.019 > count=1666675 us50=20104 us250=99841 diff=79737 cpu_MHz=4180.431 tsc50=42461284 tsc250=210862414 diff=101 rdtsc_MHz=2111.957 > count=1666675 us50=20088 us250=100287 diff=80199 cpu_MHz=4156.349 tsc50=42423974 tsc250=211807066 diff=101 rdtsc_MHz=2112.035 > count=1666675 us50=20178 us250=99913 diff=79735 cpu_MHz=4180.536 tsc50=42614718 tsc250=211016124 diff=101 rdtsc_MHz=2112.014 > > It's also what's used by sbc-bench to verify that CPU vendors are not > cheating in the embedded world. It's very simple, and not arch-dependent > nor compiler-dependent (at least as long as you don't build at -O0 :-)).
Seeing the rdtsc stuff, I was a bit skeptical, but it seems to work fine on arm32 and rv64.
Unfortunately you forgot to add a LICENSE file ;-)
Alternatively, I can use the C version of BogoMIPS. Which has its own merits and reputation.
The nice thing about Dhrystones is that people still publish numbers for comparison, also DMIPS/MHz and DMIPS/mW.
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
| |