If you’re interested in FreeBSD running on the AMD Ryzen Thread Tearer 3960X/3970X and TRX40 motherboard, our test experience will definitely make you feel greatly comfortable. In fact, it may already be much better for out-of-the-box experiences than the current MCE (Machine Check Exception) solution for Linux startup. This article is the result of FreeBSD 12.1’s run on thread tearer 3970X, in contrast to Linux and Windows, both tested on the same high-performance platform.
This FreeBSD 12.1 runs on the 32-core, 64-threaded Ryzen Thread Tearer 3970X, using the Asus ROG ZENITH II EXTREME motherboard, the boot and run are quite smooth, all cores are functioning properly, PCIe 4.0 NVMe SSD hard drive, Motherboard network card and other motherboard functions all normal. The system is full of 4 16GB DDR4-3600 memory, as well as 1TB Corsair Force MP600 NVMe SSD and Radeon RX 580 graphics cards. Considering that Linux doesn’t even start up on this system, and FreeBSD works, it’s a good thing.
While FreeBSD 12.1 is fine with the AMD Ryzen Thread Tearer 3970X on the TRXZenith II Extreme, DragonFlyBSD is not so lucky. Neither The DragonFlyBSD 5.6.2 Stable Edition nor the DragonFlyBSD Daily Development Snapshot Edition (last week of November 2019) will not be available. As a result, the test skipped DragonFlyBSD and tested only FreeBSD.
This test uses both the default LLVM Clang 8.0.1 compiler and GCC 9.2 in ports for comparison. The test platform parameters are as follows
All Linux / BSD / Windows tests are used with Phoronix Test Suite.
On thread tearer 3970X, FreeBSD’s Golang compilation performance is roughly the same as that of other Linux distributions, far better than Windows 10’s.
Despite good compilation performance, garbage collection is still much slower than other platforms.
For the most common lynx, FreeBSD 12.1’s test performance in AMD thread tearers is not much different from that of other Linux distributions, thanks to the use of Open JDK 11.
In the GraphicsMagick test for multithreaded OpenMP, the performance of running a graphics manipulator in FreeBSD 12.1 was good. FreeBSD 12.1 has been accompanied by a Clang version that supports OpenMP by default, so the default compiled GraphicsMagick works pretty well, and GCC 9.2 performs similarly to the Linux platform.
FreeBSD 12.1’s x264 encoding test also uses both GCC and Clang versions, both much faster than the Linux version, but slower than Windows 10.
On thread tearer 3970X, 7-Zip is also one of the laggards of FreeBSD 12.1. It’s too much behind Windows and Linux.
In Stockfish testing, FreeBSD was at the top of the list, between OpenSUSE and CentOS.
FreeBSD’s xz compression performance performs well, far better than 7-Zip.
FLAC audio compression also uses two compiled versions of GCC and Clang to test, and Clang’s compiled executable file optimization is not ideal.
Similarly, the GCC version of M-Queens performed better on FreeBSD.
FreeBSD continues to perform strongly on this AMD Ryzen Thread Tearer 3970X system.
FreeBSD’s Python lags behind Linux and Windows, as we found on other hardware systems.
Using Git on FreeBSD to operate a large repository is as fast as Linux.
The run points summary show that all the tests are running successfully on Windows, Linux, and FreeBSD, and FreeBSD 12.1 is impressive, especially given that AMD does not optimize ForFreeBSD. FreeBSD 12.1 performs as much as the Linux distribution sought. Switching the compiler from the default Clang 8.0.1 to GCC 9.2 does help improve performance in most cases, but the performance gap has narrowed because Clang 8.0.1 is supported by OpenMP. Overall, it’s a real surprise that the Thread Tearer 3970X runs FreeBSD 12.1 without hardware compatibility issues, which is great on this AMD 32 core/64 thread processor.