FreeBSD 12.1跑分測試:在Ryzen線程撕裂者3970X上快得讓人刷新認知
要是你對FreeBSD運行在AMD Ryzen線程撕裂者3960X/3970X + TRX40主板上感興趣的話,我們這篇測試體驗絕對會讓你感到無比舒爽。事實上,對於開箱即用體驗而言,或許就已經比目前Linux的啟動時MCE(機器檢查異常)解決方案好得多。這篇文章就是FreeBSD 12.1在線程撕裂者3970X上的跑分結果,與之對比的是Linux和Windows,都在相同的高性能平台上測試。
這次FreeBSD 12.1運行在32核、64線程的Ryzen線程撕裂者3970X上,使用華碩 ROG ZENITH II EXTREME主板,啟動、運行都相當流暢,所有核心都正常運作,PCIe 4.0 NVMe SSD硬盤、主板網卡等主板功能一切正常。這套系統插滿4條16GB DDR4-3600內存,還有1TB Corsair Force MP600 NVMe SSD和Radeon RX 580顯卡。考慮到在這套系統上,Linux甚至出現了無法啟動問題,而FreeBSD卻能正常運作,真是令人欣喜。
雖然FreeBSD 12.1在TRX40主板(ROG Zenith II Extreme)搭配AMD Ryzen線程撕裂者3970X並沒有什麼問題,但可惜DragonFlyBSD就沒那麼走運。無論是DragonFlyBSD 5.6.2穩定版還是DragonFlyBSD每日開發快照版(2019年11月最後一周的版本)都無法啟動。因此,這次測試略過DragonFlyBSD,只測試FreeBSD。
這次測試既使用默認自帶的LLVM Clang 8.0.1編譯器,也使用ports裡的GCC 9.2以作比較。測試平台參數如下
所有Linux / BSD / Windows測試都是用Phoronix Test Suite。
在線程撕裂者3970X上,FreeBSD的Golang編譯性能跟其它Linux發行版基本持平,遠好於Windows 10的性能。
雖然Golang編譯性能不錯,但是垃圾回收速度仍然比其它平台慢得多。
而對於最常用的部分,由於使用了Open JDK 11,FreeBSD 12.1在AMD線程撕裂者的測試表現跟其它Linux發行版相比,沒太大差異。
在多線程OpenMP的GraphicsMagick測試裡,在FreeBSD 12.1運行圖形操控程序的性能還不錯。FreeBSD 12.1已經默認附帶支持OpenMP的Clang版本,因此默認編譯而來的GraphicsMagick運行得相當好,而GCC 9.2就跟Linux平台的表現相似。
FreeBSD 12.1的x264編碼測試同樣使用GCC和Clang兩個版本,都比Linux版本快得多,但比Windows 10慢。
在線程撕裂者3970X上,7-Zip同樣是FreeBSD 12.1的其中一個落後項目。比Windows和Linux都落後太多。
在Stockfish測試裡,FreeBSD的性能表現排在前列,介於OpenSUSE和CentOS之間。
FreeBSD的xz壓縮性能表現良好,遠優於7-Zip。
FLAC音頻壓縮同樣使用了GCC和Clang兩個編譯版本來測試,Clang編譯出來的可執行文件優化不太理想。
類似的,GCC版M-Queens在FreeBSD上表現更好。
FreeBSD繼續在這套AMD Ryzen線程撕裂者3970X系統上表現出強勁的性能。
FreeBSD的Python的跑分落後於Linux和Windows,在其它硬件系統上我們發現也是這樣的。
在FreeBSD上使用Git操作大倉庫就跟Linux一樣快。
跑分總結,可以看到所有測試都在Windows、Linux和FreeBSD上成功運行,FreeBSD 12.1令人刮目相看,尤其是考慮到AMD並未對FreeBSD作出什麼優化的情況下。FreeBSD 12.1的性能就跟受測的Linux發行版差不多。如果把編譯器從默認的Clang 8.0.1切換成GCC 9.2,在多數情況下確實會對提升性能有幫助,不過由於Clang 8.0.1有OpenMP的支持,兩者的性能差距已經縮小了。總地來說,在線程撕裂者3970X運行FreeBSD 12.1竟然沒有硬件兼容性問題還真的令人感到驚喜,在這個AMD 32核/64線程的處理器上表現得真是太好了。