Re: Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
On 12/11/2021 5:38 AM, David Chisnall wrote: 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’t 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’re 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’ve 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’t 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 . wrote: 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? 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. On Sat, 11 Dec 2021 at 10:53, beepc.ch wrote: I am surprised to see that the BSD cluster today has much worse performance than Linux. What do you think of this? "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. Comparing "default" FreeBSD install with "default" Slackware install would be more interesting, because Slackware builds are at most vanilla. -- Daniel Dettlaff Versatile Knowledge Systems verknowsys.com I tried to investigate this a bit yesterday. Specifically, seeing 'zstd' and 'openssl 3.0 sha256' being significantly worse on FreeBSD, when especially the latter, should basically have 0 difference between OSes. The Phoronix test suite is available as a package for freebsd, but I don't know what kind of magic is required to make it actually work. The compress-zstd-1.5.0 benchmark's install.sh tries to compile zstd with BSD make, when the makefile only works for GNU make. A little hacking around that, and I managed to run the test, but the results I got were in line with Linux, over 2 GB/sec, not the 300 MB/sec their result reported. I've not managed to figure out what they could have done wrong. It really does look like for zstd, it was someone only using 1 core on FreeBSD, and all cores on every other OS. -- Allan Jude
Re: Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
On 12/11/21, Mateusz Guzik wrote: > On 12/11/21, Mateusz Guzik wrote: >> On 12/11/21, Piper H wrote: >>> I read this article from Reddit: >>> https://www.phoronix.com/scan.php?page=article&item=bsd-linux-eo2021&num=1 >>> >>> I am surprised to see that the BSD cluster today has much worse >>> performance >>> than Linux. >>> What do you think of this? >>> >> >> There is a lot to say here. >> >> One has to own up to Linux likely being a little bit (or even more so) >> faster for some of the legitimate tests. One, there are certain >> multicore scalability issues compared Linux, which should be pretty >> mild given the scale (16 cores/32 threads). A more important problem >> is userspace which fails to take advantage of SIMD instructions for >> core primitives like memset, memcpy et al. However, if the difference >> is more than few %, the result is likely bogus. Key thing to do when >> benchmarking is being able to explain the result, most notably if you >> run into huge discrepancies. >> >> I had a look at the most egregious result -- zstd and spoiler, it is a >> bug in result reporting in zstd. >> >> I got FreeBSD and Linux (Ubuntu Focal) vms running on: >> Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz >> >> Their zstd test ultimately ends up spawning: zstd -T24 -S -i15 -b19 >> FreeBSD-12.2-RELEASE-amd64-memstick.img (yes, they compress a ~1GB >> FreeBSD image). >> >> Side note, it does not matter, but I happen to have CURRENT kernel >> running on the FreeBSD 13 vm right now. >> >> [16:37] freebsd13:~ # time zstd -T24 -S -i15 -b19 >> FreeBSD-12.2-RELEASE-amd64-memstick.img >> 19#md64-memstick.img :1055957504 -> 692662162 (1.524), 3.97 MB/s ,2156.8 >> MB/s >> zstd -T24 -S -i15 -b19 FreeBSD-12.2-RELEASE-amd64-memstick.img >> 274.10s user 12.90s system 763% cpu 37.602 total >> >> In contrast: >> >> [16:37] ubuntu:...tem/compress-zstd-1.5.0 (130) # time zstd -T24 -S >> -i15 -b19 FreeBSD-12.2-RELEASE-amd64-memstick.img >> 19#md64-memstick.img :1055957504 -> 692662162 (1.524), 60.1 MB/s ,2030.6 >> MB/s >> zstd -T24 -S -i15 -b19 FreeBSD-12.2-RELEASE-amd64-memstick.img >> 328.65s user 3.48s system 850% cpu 39.070 total >> >> This is repeatable. If anything, FreeBSD did it *faster*. Yet zstd >> reports: >> FreeBSD: 3.97 MB/s ,2156.8 MB/s [total time real time of 37.602 seconds] >> Linux: 60.1 MB/s ,2030.6 MB/s [total time real time of 39.070 seconds] >> >> I don't know what these numbers are supposed to be, but it is pretty >> clear Phoronix grabs the first one. >> >> I'll look into sorting this out some time later. >> > > So I cloned https://github.com/facebook/zstd/ and got the v1.4.8 tag, > as currently imported into FreeBSD. The diff is pretty minimal and > deals with exposing extra symbols. > > zstd directly compiled from that source (with mere gmake) correctly > shows 2-digit MB speeds, so it has to be something in the FreeBSD > build which ends up messing with it. I ran out of curiosity at this > point (and more so time) at this point, but I invite someone else to > get to the bottom of this. > > Bottom line though: there is no zstd performance problem on FreeBSD. > Well I had another look at found it: the low number is computed from supposed total time spent on CPU. Compiling by hand gives c11 primitives to do it, while using the FreeBSD source tree lands with c90 which end up giving bogus results. A hack which I can't be bothered to productize pasted below. I can't easily repeat the test with patched zstd on the same box, but on another one this goes from supposed ~3.3MB/s to 70.2MB/s, which assume sorts it out. diff --git a/sys/contrib/zstd/programs/timefn.c b/sys/contrib/zstd/programs/timefn.c index 95460d0d971d..f5dcdf84186e 100644 --- a/sys/contrib/zstd/programs/timefn.c +++ b/sys/contrib/zstd/programs/timefn.c @@ -84,8 +84,7 @@ PTime UTIL_getSpanTimeNano(UTIL_time_t clockStart, UTIL_time_t clockEnd) /* C11 requires timespec_get, but FreeBSD 11 lacks it, while still claiming C11 compliance. Android also lacks it but does define TIME_UTC. */ -#elif (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) /* C11 */) \ -&& defined(TIME_UTC) && !defined(__ANDROID__) +#else #include/* abort */ #include /* perror */ @@ -133,14 +132,6 @@ PTime UTIL_getSpanTimeNano(UTIL_time_t begin, UTIL_time_t end) return nano; } - - -#else /* relies on standard C90 (note : clock_t measurements can be wrong when using multi-threading) */ - -UTIL_time_t UTIL_getTime(void) { return clock(); } -PTime UTIL_getSpanTimeMicro(UTIL_time_t clockStart, UTIL_time_t clockEnd) { return 100ULL * (clockEnd - clockStart) / CLOCKS_PER_SEC; } -PTime UTIL_getSpanTimeNano(UTIL_time_t clockStart, UTIL_time_t clockEnd) { return 10ULL * (clockEnd - clockStart) / CLOCKS_PER_SEC; } - #endif diff --git a/sys/contrib/zstd/programs/timefn.h b/sys/contrib/zstd/programs/timefn.h index 5d2818e8a1b7..2f0a3c58528d 100644 --- a/sys/contrib/zstd/programs/timefn.h +++ b/sys/contrib/zstd/programs/timef
Re: Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
On 12/11/21, Mateusz Guzik wrote: > On 12/11/21, Piper H wrote: >> I read this article from Reddit: >> https://www.phoronix.com/scan.php?page=article&item=bsd-linux-eo2021&num=1 >> >> I am surprised to see that the BSD cluster today has much worse >> performance >> than Linux. >> What do you think of this? >> > > There is a lot to say here. > > One has to own up to Linux likely being a little bit (or even more so) > faster for some of the legitimate tests. One, there are certain > multicore scalability issues compared Linux, which should be pretty > mild given the scale (16 cores/32 threads). A more important problem > is userspace which fails to take advantage of SIMD instructions for > core primitives like memset, memcpy et al. However, if the difference > is more than few %, the result is likely bogus. Key thing to do when > benchmarking is being able to explain the result, most notably if you > run into huge discrepancies. > > I had a look at the most egregious result -- zstd and spoiler, it is a > bug in result reporting in zstd. > > I got FreeBSD and Linux (Ubuntu Focal) vms running on: > Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz > > Their zstd test ultimately ends up spawning: zstd -T24 -S -i15 -b19 > FreeBSD-12.2-RELEASE-amd64-memstick.img (yes, they compress a ~1GB > FreeBSD image). > > Side note, it does not matter, but I happen to have CURRENT kernel > running on the FreeBSD 13 vm right now. > > [16:37] freebsd13:~ # time zstd -T24 -S -i15 -b19 > FreeBSD-12.2-RELEASE-amd64-memstick.img > 19#md64-memstick.img :1055957504 -> 692662162 (1.524), 3.97 MB/s ,2156.8 > MB/s > zstd -T24 -S -i15 -b19 FreeBSD-12.2-RELEASE-amd64-memstick.img > 274.10s user 12.90s system 763% cpu 37.602 total > > In contrast: > > [16:37] ubuntu:...tem/compress-zstd-1.5.0 (130) # time zstd -T24 -S > -i15 -b19 FreeBSD-12.2-RELEASE-amd64-memstick.img > 19#md64-memstick.img :1055957504 -> 692662162 (1.524), 60.1 MB/s ,2030.6 > MB/s > zstd -T24 -S -i15 -b19 FreeBSD-12.2-RELEASE-amd64-memstick.img > 328.65s user 3.48s system 850% cpu 39.070 total > > This is repeatable. If anything, FreeBSD did it *faster*. Yet zstd reports: > FreeBSD: 3.97 MB/s ,2156.8 MB/s [total time real time of 37.602 seconds] > Linux: 60.1 MB/s ,2030.6 MB/s [total time real time of 39.070 seconds] > > I don't know what these numbers are supposed to be, but it is pretty > clear Phoronix grabs the first one. > > I'll look into sorting this out some time later. > So I cloned https://github.com/facebook/zstd/ and got the v1.4.8 tag, as currently imported into FreeBSD. The diff is pretty minimal and deals with exposing extra symbols. zstd directly compiled from that source (with mere gmake) correctly shows 2-digit MB speeds, so it has to be something in the FreeBSD build which ends up messing with it. I ran out of curiosity at this point (and more so time) at this point, but I invite someone else to get to the bottom of this. Bottom line though: there is no zstd performance problem on FreeBSD. -- Mateusz Guzik
Re: Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
On 12/11/21, Piper H wrote: > I read this article from Reddit: > https://www.phoronix.com/scan.php?page=article&item=bsd-linux-eo2021&num=1 > > I am surprised to see that the BSD cluster today has much worse performance > than Linux. > What do you think of this? > There is a lot to say here. One has to own up to Linux likely being a little bit (or even more so) faster for some of the legitimate tests. One, there are certain multicore scalability issues compared Linux, which should be pretty mild given the scale (16 cores/32 threads). A more important problem is userspace which fails to take advantage of SIMD instructions for core primitives like memset, memcpy et al. However, if the difference is more than few %, the result is likely bogus. Key thing to do when benchmarking is being able to explain the result, most notably if you run into huge discrepancies. I had a look at the most egregious result -- zstd and spoiler, it is a bug in result reporting in zstd. I got FreeBSD and Linux (Ubuntu Focal) vms running on: Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz Their zstd test ultimately ends up spawning: zstd -T24 -S -i15 -b19 FreeBSD-12.2-RELEASE-amd64-memstick.img (yes, they compress a ~1GB FreeBSD image). Side note, it does not matter, but I happen to have CURRENT kernel running on the FreeBSD 13 vm right now. [16:37] freebsd13:~ # time zstd -T24 -S -i15 -b19 FreeBSD-12.2-RELEASE-amd64-memstick.img 19#md64-memstick.img :1055957504 -> 692662162 (1.524), 3.97 MB/s ,2156.8 MB/s zstd -T24 -S -i15 -b19 FreeBSD-12.2-RELEASE-amd64-memstick.img 274.10s user 12.90s system 763% cpu 37.602 total In contrast: [16:37] ubuntu:...tem/compress-zstd-1.5.0 (130) # time zstd -T24 -S -i15 -b19 FreeBSD-12.2-RELEASE-amd64-memstick.img 19#md64-memstick.img :1055957504 -> 692662162 (1.524), 60.1 MB/s ,2030.6 MB/s zstd -T24 -S -i15 -b19 FreeBSD-12.2-RELEASE-amd64-memstick.img 328.65s user 3.48s system 850% cpu 39.070 total This is repeatable. If anything, FreeBSD did it *faster*. Yet zstd reports: FreeBSD: 3.97 MB/s ,2156.8 MB/s [total time real time of 37.602 seconds] Linux: 60.1 MB/s ,2030.6 MB/s [total time real time of 39.070 seconds] I don't know what these numbers are supposed to be, but it is pretty clear Phoronix grabs the first one. I'll look into sorting this out some time later. TL;DR don't drink and benchmark -- Mateusz Guzik
Re: Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
I can say that these "micro" benchmarks are not "so much" useful . When such comparisons are made based on "abstract" views , they DO NOT SHOW very much utility . Over previous years I am always stressing that proper comparisons would be based on a "specified" workload : Which distributions is more suitable for that "specified" work load ? Testing / benchmarking should be performed with respect to such criteria , for example , continuously "a day work necessary for a profession" , "a web server for a 'specified' task" , "a NFS server working for a 'specified' application" . Then comparisons of parts causing significant differences may generate useful improvement possibilities . When we see *BSD distributions as a single group , it is obvious that everyone has its own priorities to realize . The same is true also for Linux distributions . Without taking such differences into consideration , reaching some conclusions about them would only be a waste of time . With my best regards , Mehmet Erol Sanliturk On Sat, Dec 11, 2021 at 1:40 PM Sami Halabi wrote: > Hi, > I see these claims over and over. > So I must ask. > Is there any tunibg guide(s) to make the default not conservative in a > regrding to several use cases like using as web server? How to Utilize gpu > maybe? > I know there are few network (aka routing / forwarding) guides.. but maybe > instead of that superior feeling "oh they are linuxish and knoe shit" maybe > better supply the tuning needed to get better results? > And I'm not talking to get an engineer to analyze the tests case.. > Maybe the linux defaults fit better for most use cases rather than being > conservative?? > > Just to be clear I almost not used linux and always freebsd for simplicity > usage.. but I must say it makes me wonder > > Sami > > בתאריך שבת, 11 בדצמ׳ 2021, 11:52, מאת beepc.ch : > > > > I am surprised to see that the BSD cluster today has much worse > > performance > > > than Linux. > > > What do you think of this? > > > > "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. > > > > Comparing "default" FreeBSD install with "default" Slackware install > > would be more interesting, because Slackware builds are at most vanilla. > > > > >
Re: Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
Maybe FreeBSD wouldn't win but results would be much closer. It's also known that default compiler options for ports aren't best. Default sysctl.conf default settings aren't best. They could at least compile all the benchmarks with the same compiler features. So -ffast-math, -flto and -O3 + code hardening features, for all tested systems. It's also professional to mention the compiler used (I recall that the previous Phroenix "benchmark" was done using GCC on FreeBSD which I'll not even comment). I could go on with all mistakes made in this "benchmark", but well, I know - benchmarking is hard. On Sat, 11 Dec 2021 at 12:01, Miroslav Lachman <000.f...@quip.cz> wrote: > On 11/12/2021 11:17, dmilith . wrote: > > 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? > > > > 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. > > It is very simple - they are comparing OSes with setting they are > shipped. Average users don't know about tuning so the benchmark is > reflecting what many average users get. > And to be honest - I don't think FreeBSD will win even with everything > best tuned. > > Kind regards > Miroslav Lachman > -- Daniel Dettlaff Versatile Knowledge Systems verknowsys.com
Re: Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
On 2021-12-11 02:38, David Chisnall wrote: 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’t 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’re 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’ve 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’t 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)? I think everyones (here) making good points on the comparisons made on/at Phronix. But given that the FreeBSD "default" install adds a fair amount of overhead to elicit good feedback for bugs/failures. It makes it a poor candidate (kernel) for comparing performance. Hell, dmesg(8) even throws a warning saying that performance will be encumbered. If they knew the BSD basics. They might be able to provide a more meaningful comparison. I'm going to add Creating a BSD vs Linux comparison to the Foundation Sponsored Request/poll recently posted on some of the mailing lists. It'd be great for promotion/advertising/evangelism. :-) -- Chris David On 11 Dec 2021, at 10:17, dmilith . wrote: 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? 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. On Sat, 11 Dec 2021 at 10:53, beepc.ch wrote: I am surprised to see that the BSD cluster today has much worse performance than Linux. What do you think of this? "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. Comparing "default" FreeBSD install with "default" Slackware install would be more interesting, because Slackware builds are at most vanilla. -- Daniel Dettlaff Versatile Knowledge Systems verknowsys.com
Re: Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
On 11/12/2021 11:17, dmilith . wrote: 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? 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. It is very simple - they are comparing OSes with setting they are shipped. Average users don't know about tuning so the benchmark is reflecting what many average users get. And to be honest - I don't think FreeBSD will win even with everything best tuned. Kind regards Miroslav Lachman
Re: Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
Hi, Is there any tunibg guide(s) to make the default not conservative in a regrding to several use cases like using as web server? - FreeBSD Handbook, Chapter 12. Configuration and Tuning - section 12.12. Tuning with sysctl(8) Just to be clear I almost not used linux and always freebsd for simplicity usage.. but I must say it makes me wonder Sami בתאריך שבת, 11 בדצמ׳ 2021, 11:52, מאת beepc.ch : I am surprised to see that the BSD cluster today has much worse performance than Linux. What do you think of this? "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. Comparing "default" FreeBSD install with "default" Slackware install would be more interesting, because Slackware builds are at most vanilla.
Re: Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
Hi, I see these claims over and over. So I must ask. Is there any tunibg guide(s) to make the default not conservative in a regrding to several use cases like using as web server? How to Utilize gpu maybe? I know there are few network (aka routing / forwarding) guides.. but maybe instead of that superior feeling "oh they are linuxish and knoe shit" maybe better supply the tuning needed to get better results? And I'm not talking to get an engineer to analyze the tests case.. Maybe the linux defaults fit better for most use cases rather than being conservative?? Just to be clear I almost not used linux and always freebsd for simplicity usage.. but I must say it makes me wonder Sami בתאריך שבת, 11 בדצמ׳ 2021, 11:52, מאת beepc.ch : > > I am surprised to see that the BSD cluster today has much worse > performance > > than Linux. > > What do you think of this? > > "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. > > Comparing "default" FreeBSD install with "default" Slackware install > would be more interesting, because Slackware builds are at most vanilla. > >
Re: Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
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’t 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’re 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’ve 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’t 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 . wrote: > > 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? > > 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. > > On Sat, 11 Dec 2021 at 10:53, beepc.ch wrote: > >>> I am surprised to see that the BSD cluster today has much worse >> performance >>> than Linux. >>> What do you think of this? >> >> "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. >> >> Comparing "default" FreeBSD install with "default" Slackware install >> would be more interesting, because Slackware builds are at most vanilla. >> >> > > -- > Daniel Dettlaff > Versatile Knowledge Systems > verknowsys.com
Re: Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
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? 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. On Sat, 11 Dec 2021 at 10:53, beepc.ch wrote: > > I am surprised to see that the BSD cluster today has much worse > performance > > than Linux. > > What do you think of this? > > "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. > > Comparing "default" FreeBSD install with "default" Slackware install > would be more interesting, because Slackware builds are at most vanilla. > > -- Daniel Dettlaff Versatile Knowledge Systems verknowsys.com
Re: Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
I am surprised to see that the BSD cluster today has much worse performance than Linux. What do you think of this? "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. Comparing "default" FreeBSD install with "default" Slackware install would be more interesting, because Slackware builds are at most vanilla.
Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux
I read this article from Reddit: https://www.phoronix.com/scan.php?page=article&item=bsd-linux-eo2021&num=1 I am surprised to see that the BSD cluster today has much worse performance than Linux. What do you think of this? Thanks Piper