Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Dec 2021 10:38:00 +0000
From:      David Chisnall <theraven@FreeBSD.org>
To:        "dmilith ." <dmilith@gmail.com>
Cc:        "beepc.ch" <xpetrl@beepc.ch>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
Message-ID:  <B53325BE-AEF5-4FD0-B791-93D3205CCEA4@FreeBSD.org>
In-Reply-To: <CAJQ5JnhpioiO_j-iidk8QbfONU6a2Jm%2BunGCdAuN=Es8UZUQzw@mail.gmail.com>
References:  <CA%2BGLnbgVGghYAYPbQfu0H0cGvXxk-v0jAZTxLLz%2BhRn5eXjP0g@mail.gmail.com> <f8e569a4-3510-5a91-62b2-f9080b197ebc@beepc.ch> <CAJQ5JnhpioiO_j-iidk8QbfONU6a2Jm%2BunGCdAuN=Es8UZUQzw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
While I agree on most of your points, the value of Phoronix is that it =
tests the default install.

As an end user, I don=E2=80=99t care that a particular program is twice =
as fast on a particular Linux distro as it is on FreeBSD because of =
kernel features, compiler options, or dependency choices.

I would love to see the base system include the ThinLTO (LLVM IR) .a =
files so that I can do inlining from libc into my program.  I would love =
for ports to default to ThinLTO unless they break with it.  Apple =
flipped that switch a few years ago, so a lot of things that broke with =
ThinLTO are now fixed.

The FreeBSD memcpy / memset implementations look like they=E2=80=99re =
slower than the latest ones, which can give a 5-10% perf boost on some =
workloads.  LLVM just landed the automemcpy framework, which is designed =
by some Google folks to synthesises efficient memcpy implementations =
tailored to different workloads.

FreeBSD often wins versus glibc-based distros because jemalloc is faster =
than dlmalloc (the default malloc implementations in FreeBSD libc and =
glibc, respectively).  I=E2=80=99ve been using snmalloc in my libc for a =
while and it generally gives me a few percent more perf.  Unfortunately, =
FreeBSD decided to expose all of the jemalloc non-standard functions =
from libc, which means I can=E2=80=99t contribute it to upstream without =
implementing all of those on top of snmalloc or it would be an ABI =
break.

It would be great if someone could pick up the Phronix benchmark suite =
and do some profiling: where is FreeBSD spending more time than Linux?  =
Are there Linux-specific code paths that hit slow paths on FreeBSD and =
fast paths on Linux that could have FreeBSD-specific fast paths added =
(e.g. futex vs _umtx_op)?

David


> On 11 Dec 2021, at 10:17, dmilith . <dmilith@gmail.com> wrote:
>=20
> 1. Where are compiler options for BSDs?
> 2. Why they compare -O2 to -O3 code in some benchmarks? Why they =
enable
> fast math in some, and disable it for others?
> 3. Why they don't mention powerd setup for FreeBSD? By default it may =
use
> slowest CPU mode. Did they even load cpufreq kernel module?
> 4. Did they even care about default FreeBSD mitigations (via sysctl)
> enabled, or it's only valid for Linuxes? ;)
> 5. What happened to security and environment details of BSDs?
>=20
> It's kinda known that guys from Phroenix lack basic knowledge of how =
to do
> proper performance testing and lack basic knowledge about BSD systems.
> Nothing new. Would take these results with a grain of salt.
>=20
> On Sat, 11 Dec 2021 at 10:53, beepc.ch <xpetrl@beepc.ch> wrote:
>=20
>>> I am surprised to see that the BSD cluster today has much worse
>> performance
>>> than Linux.
>>> What do you think of this?
>>=20
>> "Default" FreeBSD install setting are quite conservative.
>> The Linux common distros are high tuned, those benchmark is in my
>> opinion comparison of apples and oranges.
>>=20
>> Comparing "default" FreeBSD install with "default" Slackware install
>> would be more interesting, because Slackware builds are at most =
vanilla.
>>=20
>>=20
>=20
> --=20
> Daniel Dettlaff
> Versatile Knowledge Systems
> verknowsys.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B53325BE-AEF5-4FD0-B791-93D3205CCEA4>