Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Oct 2019 00:44:34 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        freebsd-ppc@freebsd.org, freebsd-arm@freebsd.org
Subject:   A comparison of ARMv8 Cortex-A57 OverDrive 1000 vs. powerpc64 PowerMac11,2 (2 socket/2 cores each): fairly modern vs. older, higher power
Message-ID:  <88DAC6B2-35F0-4F61-AEE1-51FC32F09776@yahoo.com>

next in thread | raw e-mail | index | archive | help
Just a comparison I thought was interesting. The comparison
is in the .png's of the plots. I reference where to get the
.png's.

I reference two plots from a variation on the old HINT (Hierarchical
INTegeration) serial and pthread benchmarks. (The variation's code
uses C++17 facilities.) HINT and acpphint are CPU/memory use
benchmarks (unless operated up into sizes that page to disk). Trials
for kernel vector sizes that are large tend to make caches less
effective. So acpphint's exploration of kernel vector sizes shows
the related consequences.

In the plots "higher is faster".

The dark curves are the OverDrive 1000.
The light curves are the PowerMac11,2.

The blue curves are single threaded, not measuring any thread
creation overhead. The green curves are multi-threaded, with 4
threads, matching the core counts, thread creation overhead
included in the times measured.

Four data types are covered: 32 bit unsigned (abbreviated ui), 2
examples of 64 bit unsigned (ull and ul), double (d). On the
OverDrive, double is slower than the 64-bit unsigned types; on the
PowerMac11,2, double is faster than the 64-bit unsigned types. For
32-bit (ui) the maximum kernel vectors size is limited in the plots,
compared to the other data types.

.png of the plot for X axis being the total kernel vector bytes for
the median-timed trial for that size:

=
https://github.com/markmi/acpphint/blob/master/acpphint_example_data/acpph=
int-OverDrive_1000_PowerMac11%2C2-threads_4-LP64-g%2B%2B_9_O3-libc%2B%2B-D=
SIZE_large_fast_types-RAM.png

.png of the plot for X axis being the time (sec) for the total
kernel vector bytes for that median-timed trial:

=
https://github.com/markmi/acpphint/blob/master/acpphint_example_data/acpph=
int-OverDrive_1000_PowerMac11%2C2-threads_4-LP64-g%2B%2B_9_O3-libc%2B%2B-D=
SIZE_large_fast_types-time.png

The OverDrive 1000 is generally faster for what the benchmark
measures, other than data type double for single threaded.

(The PowerMac11,2 was running a FreeBSD that was not built via
gcc 4.2.1 but via system-clang used with devel/powerpc64-binutils.
But the FreeBSD was [and is] still ELFv1 based. For the OverDrive,
Cortex-A57 was directly targeted in the system build and the
benchmark build.)

For both targets: devel/gcc9's g++9 was used to build the benchmark,
but in such a way to be using just FreeBSD system libraries, such
as libc++ instead of libstdc++.

The plots are from gnuplot.

=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?88DAC6B2-35F0-4F61-AEE1-51FC32F09776>