龍芯、海光、飛騰、兆芯同桌對比性能力求公平

来源:https://www.cnblogs.com/88223100/archive/2023/06/02/Comparison-of-performance-among-Longxin-Haiguang-Feiteng-and-Zhaoxin.html
-Advertisement-
Play Games

此日海光新至,為其接風飲宴。席間其樂融融,眾CPU互報姓名,曰:海光C86-3250、龍芯3A5000、飛騰D2000、兆芯KX-U6780A。其間海光3250言其太上蠻橫,只許子弟行走於伺服器和工作站之間,圍坐桌面乃是越矩,此番被拘於此方知桌面之妙,願以文會友,以人鑒己。老夫雖知其本意,卻亦有意相... ...


老夫桌上有酒,不喜獨酌,聞數家國產CPU有擅桌面者,故許利淘寶陸續擒得之,長隨老夫左右伴飲。已得龍芯、海光、飛騰、兆芯四姓圍坐,皆為桌面CPU才俊,老夫甚慰。

此日海光新至,為其接風飲宴。席間其樂融融,眾CPU互報姓名,曰:海光C86-3250、龍芯3A5000、飛騰D2000、兆芯KX-U6780A。其間海光3250言其太上蠻橫,只許子弟行走於伺服器和工作站之間,圍坐桌面乃是越矩,此番被拘於此方知桌面之妙,願以文會友,以人鑒己。老夫雖知其本意,卻亦有意相試各CPU才情,便允其以文會友之請。

然唯有龍芯3A5000躍躍欲試,飛騰D2000及兆芯KX-U6780A皆面色有異。老夫頗為不解,此二子平日豪言已至國際先進水平,此時緣何畏懼?為探知真相,餘喚來四位海外桌面CPU王侯,與國產四俊以同題相校,印證各CPU水平究竟。

再觀各CPU顏色,龍芯3A5000對海外王侯竟顯“彼可取而代也”之豪情。海光3250面色淡然,似無爭強之意。飛騰D2000和兆芯KX-U6780A兩股戰戰,幾欲先走。老夫見此情景更生疑惑,先令家僕閉門,再令所有CPU報上各自參數。往酒缸中投入幾枚青梅後,便擬定以SPEC CPU2006&2017、Stream、UnixBench試之,數日後定要見個分曉。

 

上表8款CPU中,紙面參數最弱者是龍芯3A5000,僅為4核2.5GHz。次弱者是Intel i5-6500,亦為4核,但最高頻率較龍芯3A5000多出44%,餘者6核、8核、10核皆有。海光、兆芯、飛騰皆為8核,主頻也相近,餘更不解兆芯和飛騰何以畏縮。

在四款國產CPU中,只有海光支持超線程,它的核心是購自AMD的初代Zen,但3250的主頻僅有2.8GHz,比AMD相同核心的產品低了很多。所有的國產CPU主頻都不高,大約都只有Intel和AMD同類產品的一半左右,也就是說即使國產CPU每GHz的性能與Intel和AMD相差無幾,單核性能也只有它們的一半左右。

嚴格地說,四款國產CPU都不支持睿頻,海光雖言說有睿頻,但無法開啟。龍芯和飛騰都是固定頻率,海光和兆芯支持在低負載時自動降頻。但海光和兆芯的TDP決定了,就算降了頻功耗也低不到哪兒去,可以用於桌面和工作站,做筆記本CPU就有些不合時宜。

兆芯和飛騰也與海光一樣也走的是先引進再自主的路線,不過這麼多年過去,它們的CPU核心有多少自主設計的成分尚不可知。特別是兆芯CPU VendorID仍是初始設計者CentaurHauls,就更顯疑竇叢生。

四款國產CPU中唯一從零開始自主設計CPU核心的只有龍芯3A5000,可它非但主頻比海光3250和兆芯KX-U6780A低,且核心數量也只有另外幾款國產CPU的一半,令它同台競技似乎有些不近人情,但它已然摩拳擦掌,那還是不要按捺的好。若把各款CPU的單核測試成績都折算成1.0GHz的得分,倒是可以稱量稱量龍芯3A5000的核心設計水平與其它CPU相差幾許。

SPEC CPU 2006&2017 測試說明

SPEC CPU 2006和2017都是業界公認的專業的CPU通用性能評估工具,兩者是在不同年代發佈的不同版本。它們測試的是CPU整數和浮點通用處理性能,重點在“通用”這兩個字。整數通用性能代表了常規桌面和伺服器軟體在CPU上運行時的性能表現,浮點通用性能則側重於科學計算、人工智慧等專業任務的性能表現。各家CPU廠商在發佈新產品時,通常都會發佈SPEC CPU的整數通用性能評估結果,一般都包含了單任務和多任務兩種模式的測試成績。

int_speed:單任務整數通用性能,編譯器不開啟自動並行化時表示單核性能。

fp_speed:單任務浮點通用性能,編譯器不開啟自動並行化時表示單核性能。

int_rate:多任務整數通用性能,任務數≥核心數量時代表全CPU性能。

fp_rate:多任務浮點通用性能,任務數≥核心數量時代表全CPU性能。

SPEC CPU是包含了數十個性能評估項目的測試套件,涵蓋了眾多領域和場景的應用演算法,測試內容以C、C++、Fortran源代碼的形式提供。程式中沒有嵌入針對特定架構優化的彙編代碼,以保證它在跨架構測試時的公平性。測試者需要自行配置編譯器和編譯參數,由SPEC CPU的測試程式根據配置自動編譯並運行測試項目。編譯優化參數可以配置為base和peak兩種模式,區別是peak模式允許對每一個測試項目單獨配置優化參數,並且支持二次編譯優化。因此操作系統、編譯器類型、編譯優化參數對測試成績有很大影響。有的測試者還會使用第三方優化組件、開啟單任務自動並行化、32位和64位混合編譯等手段來提高測試成績。記憶體性能也對測試成績有影響,但主要影響多任務並行時的成績,對單任務的測試成績影響較為有限,硬碟、顯卡等其它設備對測試結果的影響可以忽略不計。

“單任務並行化”是把單線程程式中的部分迴圈代碼拆分到多個核心上並行運行的技術。在一段迴圈代碼中,如果改變每次迴圈的順序不會影響運行結果,那麼這個迴圈就可以並行化。 如果在編譯時允許了“自動並行化”,那麼單任務的測試成績就不能代表單核性能。SPEC CPU2006版的“自動並行化”依賴編譯器分析代碼的能力,2017版在是測試集源碼中添加了對OpenMP的支持,也就是由源碼的編寫者手工指定哪些迴圈代碼可以並行執行。在引入OpenMP之後,就弱化了編譯器自動並行化的作用,使性能評估更加規範。因此在SPEC CPU2017的測試中,對單任務必須明確標註使用了多少個線程。

SPEC CPU的測試集中可以並行化的代碼不多,CPU核心越多開啟並行化後的收益就越高。但大多數普通軟體的源碼中可以被並行化的代碼比SPEC CPU更少,編譯器的自動並行化又可能對軟體的其餘部分造成負面影響,因此幾乎只被用來跑分。除了自動並行化之外,把GCC換成ICC也能把總成績提升10%左右,再開啟ICC增強的“自動向量化”還能再提升10%左右,然後再加上第三方優化組件也能把總成績提升10%左右,最後再換成peak模式對每個測試項目單獨調優,並且開啟二次編譯優化,還能把成績再提高10%左右……然而上述所有的提分手段對普通應用軟體的增益都遠不如SPEC CPU跑分明顯,反而會引起相容性和穩定性降低的問題,因此凡是有大量用戶的知名軟體都會避免使用這些跑分專用的、近似於“作弊”的優化技術。

此次測試都使用UOS系統,國產CPU使用UOS專業版,進口CPU使用UOS家庭版。編譯器都使用系統中內置的GCC、G++、GFortran 8.3版本,不使用任何的第三方優化庫,也不開啟單任務自動並行化,測試項目都統一編譯為64位,只測試base模式的成績。之所以不使用那些有助於提升測試成績的額外的優化方法,是因為需要滿足所有前置條件才能獲得的高分對軟體開發者沒有意義、對軟體用戶更沒有意義。有些CPU廠商用專門優化得到的peak成績去對標同行正常測試的base成績,是極端不自信的自欺欺人的表現,只有不使用那些跑分專用技巧時得到的測試成績,才能代表用戶能體驗到的CPU性能。

SPEC CPU 2006&2017 測試成績

為了使對比更加公平,老夫對編譯優化參數也作出了限制,除了因為CPU指令集(架構)不同而不得不修改的參數之外,其它的編譯優化參數都完全一致。免得它們到時候說別人成績好是因為編譯參數優化得好,自己成績差是老夫故意劣化,凡是以此種藉口掩耳盜鈴者,一律打出門去。

為了得到AMD的兩款CPU較為準確的每GHz的成績,就給它們加測了一次固定CPU頻率時的成績。一來為了驗證海光購買的AMD Zen核心和比它更新一些的Zen+核心有多大差距,二來因為龍芯說下一代3A6000每GHz的成績和Zen3相當,老夫提前收集一點兒數據,等3A6000發佈後方便驗證是否與宣傳相符,到時候該誇就誇該罵就罵。

 

SPEC CPU 2006的speed和rate分別是單任務和多任務測試,測試項目相同,只是並行的任務數量不同。

 

SPEC CPU 2017的speed和rate分別是單任務和多任務測試,不只是並行的任務數量不同,測試項目也有區別。因此除了測試了speed 的單線程成績(thread-1 單任務),還測試了rate模式時只運行一個任務的成績(rate-1 單任務),這兩種模式的成績是不同的。

通過對錶中成績的解讀,可以得出以下結論:

  1. CPU的頻率控制很影響性能發揮。

當由主板和系統自動控制CPU頻率時,CPU的頻率會根據負載和溫度不斷變化,不同的CPU、主板、操作系統和設置,都會影響控制頻率的策略。AMD的兩款CPU在單核高負載時,頻率被控制在預設頻率附近,在多核高負載時才更接近最高睿頻。而Intel的CPU就正好相反,單核高負載時傾向於保持睿頻,多核高負載時反而降到了預設頻率附近。導致10核20線程的i9-10850k在多任務測試中表現得不好,相對於R5-5600G來說成績沒有核心數量的差距那樣大。

在不鎖定CPU頻率時測試單任務,R5-2600平均頻率約為3.3GHz,R5-5600G平均頻率約為3.4GHz,i5-6500平均頻率約為3.5Ghz,i9-10850K平均頻率約為4.8GHz。

4款國產CPU在測試過程中都能保持在最高頻率,性能表現穩定。

  1. CPU頻率相近不等於單核性能相近。

例如兆芯KX-U6780A在SPEC CPU 2006和2017的測試中,單核整數成績分別是15.5和2.26,僅為海光3250的50%~60%,也只有龍芯3A5000的60%左右,而它們的主頻差距很小。這說明頻率不能單獨決定CPU單核性能,CPU的單核性能等於“頻率×IPC”。IPC是“每周期執行的指令數”,在相同頻率下IPC越高的CPU,通過測試軟體得到的成績越高。

當記憶體頻率不變時,IPC隨CPU頻率升高而降低,因此把單核成績折算到每GHz成績會有誤差。但是當記憶體帶寬不是瓶頸時,它對測試成績的影響就較低,所以把5GHz時的單核測試成績折算到1GHz時產生的誤差可以忽略不計。

 

IPC或每GHz成績主要代表了CPU核心的邏輯設計水平,CPU的主頻主要體現出物理設計和製程工藝的水平。例如Pentium4(641)用SPEC CPU 2006測得的每GHz單核整數成績僅2.37,IPC太低,它如果想達到i9-10850K(5.2Ghz)時的單核性能,就必須把主頻提到近30GHz。

CPU核心的邏輯設計、物理設計、以及製程工藝的水平提升必須並重,特別是在國產CPU的物理設計和製程工藝短時間難以突破的情況下,更有必要通過提高邏輯設計能力來提高IPC。

AMD說Zen+比Zen的IPC提升了3%,這裡對海光3250和AMD R5-2600的測試沒有體現出來,主要原因是UOS專業版對x86多了一些額外的優化,老夫也用家庭版在相同條件下測試過海光3250,SPEC CPU 2006單核整數成績沒過30分,符合Zen+比Zen的IPC提升了3%的說法。

 

在整數通用性能方面,龍芯3A5000核心邏輯設計水平和海光3250(AMD Zen)相當。在Zen的IPC水平上,龍芯3A5000的主頻要比海光3250低0.3GHz,導致單核性能也要低一些。龍芯下一代3A6000的核心邏輯設計水平可能和AMD Zen3相當,且整數和浮點IPC都與Zen3差不多。

  1. 對於不同的CPU,浮點性能與整數性能不一定是相同比例。

例如幾款x86指令集的CPU,只有兆芯KX-U6780A的浮點成績比整數成績低,與VIA歷史上的所有CPU都如出一轍。飛騰D2000的浮點成績比整數成績低,也體現了ARM的傳統風格。

龍芯3A5000在SPEC CPU 2006測試中浮點成績與整數成績差不多,但SPEC CPU 2017的浮點測試成績低於本人預期,懷疑是由於GFortran編譯器對LoongArch架構優化不足的緣故。不過3A5000的浮點成績也不算差,單核成績比使用7nm工藝的鯤鵬920還高一些。

  1. SPEC CPU 2006 和2017的測試成績沒有固定的換算比例

雖然SPEC CPU 2006和2017是同一款性能評估套件的兩個版本,有部分測試項目相似,但是它們仍然是兩種不同的性能評估工具,所得到的成績不能相互換算。

比如飛騰D2000和KX-U6780A在使用SPEC CPU20017進行測試時,表現得就比使用SPEC CPU2006的時候更好,每款CPU的兩種測試成績的比例都不相同。

本次測試沒有鯤鵬920,但這裡有一份來自鵬城實驗室的SPEC CPU 2017測試成績供參考,我們暫時只關註單任務的測試成績:

 

表中是用48核的鯤鵬920與64核的飛騰FT-2000+進行對比,FT-2000+的核心和本次測試的D2000一樣,但主頻要低一些,因此單任務單線程的int_speed成績只有2.11,比D2000的2.28要低一些。不過FT-2000+有64個核心,所以單任務64線程的測試成績就要比D2000高一些。按公開資料中的說法,鯤鵬920的48核版本主頻是2.6GHz,但它單任務單線程的int_speed成績只有3.01,而2.5GHz的龍芯3A5000得分是3.51。但已知鯤鵬920在2.6GHz時用SPEC CPU 2006測試的int_speed成績和龍芯3A5000相近,這又是一個2006和2017的成績不存在固定比例的例子。

雖然兩個版本的SPEC CPU的測試成績不存在固定比例,但測試成績都與CPU性能有強相關性。使用同種沒有針對特定環境優化的測試工具進行橫向對比時,性能越高的CPU成績就一定會越好。

  1. CPU多核性能不是對所有核心簡單疊加。

無論是整數還是浮點測試,每個核心的平均效率總是會隨著並行任務數量的增加而降低。在CPU頻率不變的情況下,影響多任務效率的主要因素是記憶體帶寬和多核心的互聯效率。CPU性能越高,記憶體帶寬不足造成的負面影響就越大;CPU核心數量越多,核間互聯效率就越低。

比如海光3250的SPEC CPU 2006整數單任務成績是30.5,如果直接乘上8個核心,那麼8任務整數成績應該是244,但實際上只有173。用173÷244,得到多任務時平均每個核心的效率只有70.9%。SPEC CPU 2017因為speed和rate的測試項目不同,所以應該用rate-1的成績計算每個核心的平均效率。計算平均效率時也不能把超線程計算在內,否則會有很大的誤差。在測試過程中發現只有4款國產CPU在多任務時仍然能保持頻率,其它CPU即使在BIOS中設置了固定的倍頻,多任務時也仍然會有降頻的現象,也會導致計算每個核心的平均效率時出現誤差。下方的圖表中就只統計4款國產CPU在運行SPEC CPU時每個核心的平均效率:

 

可以清楚地看到,不同版本的SPEC CPU、不同的測試類型、不同的CPU,在運行多任務時每個核心的平均效率是不同的。龍芯3A5000的多核效率高很有可能是它核心數量最少的原因,飛騰的多核效率也不錯,海光和兆芯就要差上一些了。不過海光因為單核性能最高,還支持超線程,它的多核性能在四款國產CPU中仍然是最高的。

 

儘管海光3250無論整數還是浮點性能都比R5-2600低,但它畢竟是8核16線程,全CPU的多核性能與6核12線程的R5-2600是差不多的。可能把海光3250看作降頻版本的AMD R7-1700更加恰當,因為都是8核16線程,都是Zen核心。

 

飛騰D2000和兆芯KX-U6780A有濫竽充數的嫌疑,它們也都是8個核心,測試成績所代表的多核性能卻還不到海光3250的一半,和4核的3A5000的多核成績非常接近。

特別是兆芯,KX-U6780A單核每GHz的成績和10年前引進的VIA C4350AL相比大約只提升了10%。但是VIA C4350AL的記憶體是DDR3 1333單通道,而KX-U6780A是DDR4 2666雙通道,老夫毫不懷疑4倍的記憶體帶寬可以把IPC提高10%

從ZX-A到ZX-E,歷經了5代產品,兆芯都還沒有給CPU加上三級緩存。還有那個可笑的VendorID——CentaurHauls,在兆芯的桌面CPU上已經掛了10年。連海光CPU的VendorID都改成了HygonGenuine,兆芯卻不忘本。不過有些令人擔心的是,海光也無法再向AMD購買更新更好的核心,兆芯的今日是否是海光的明日猶未可知。

飛騰D2000最優秀的地方是功耗,它用25W的TDP達到了比兆芯70W的TDP略好的性能。飛騰D2000的功耗也要比龍芯3A5000的35W典型功耗更低,且多核性能比龍芯3A5000略高,畢竟是8核跟4核作比較,總不能一點優勢都沒有。

儘管4核的龍芯3A5000多核性能只是與8核的兆芯和飛騰桌面CPU相當,但在桌面應用中,單核性能高就是優點。桌面應用中的流暢度,海光3250與龍芯3A5000大約和2代酷睿i5、i7台式機差不多,兆芯KX-U6780A和飛騰D2000就只能和凌動平板電腦相提並論了。龍芯在6000系列才終於放下了4核打8核的執拗,3A6000是4核8線程,3B6000就是8核了(大小核設計)。3A6000預計單核及多核性能都超過i5-6500,與6、7代酷睿i7桌面CPU的性能相當,3B6000的單核及多核性能大約都能超過AMD R5-2600吧。

  1. 超線程在高負載時實際提升約為0%~20%,部分情況下造成負增長。

在某些測試中,超線程可提高50%以上的效率,因此造成了超線程可以把1個物理核心當成1.5個來用的印象。然而提高50%算是特例,實際上平均來看是不可能達到那麼高的。

超線程的加速能力和程式的計算類型有關、和程式對記憶體帶寬的需求有關、也和超線程的技術方案有關。使用涵蓋面較廣的SPEC CPU 2006&2017來測試,可以得出超線程對效率的平均提升幅度是0%~20%的結論。

 

從上面的圖表中可以看到在各項多任務測試中,海光3250的超線程加速比AMD R5-2600還高一些,老夫猜測是海光3250主頻更低的原因。雖然它們的記憶體頻率也有差距,但實際的記憶體訪問速度差距不大。

Intel i9-10850k的超線程加速比最低,並且在SPEC CPU 2006和2017的浮點多任務測試中都出現了負增長,這能說明Intel的超線程技術最差嗎?這種笑話不能信,真正的原因應該是Intel i9-10850k有20個線程,同時運行20個任務,記憶體帶寬成為了瓶頸。R5-5600G在SPEC CPU 2017的浮點多任務測試中也同樣出現了負增長,也能證明雙通道DDR4-3200這時已經達到了極限。

桌面CPU不管有多少個核心,一般都只共用兩個記憶體通道,這也是桌面CPU不能替代伺服器CPU的主要原因之一。

stream記憶體訪問速度測試

前面提到多任務並行時,記憶體性能會成為瓶頸,伺服器CPU必須有更多的記憶體通道。但記憶體頻率和通道數並不等價於記憶體訪問速度, CPU中還有一個重要的組成部分是記憶體控制器,記憶體控制器和記憶體是“誰慢誰有理”的關係。比如DDR4-2666雙通道理論帶寬上限超過40GB每秒,但國產CPU中的記憶體控制器目前都達不到理論帶寬的的記憶體訪問速率。

Linux下測試記憶體訪問速率通常是使用Stream測試軟體,它也是以源碼方式提供,根據編譯參數不同而得到支持單線程和多線程測試的兩種版本。通常使用GCC編譯器的“-O”和“-O2”作為基礎編譯參數,如果使用GCC的“-O3”參數,對x86架構CPU的記憶體複製性能會有加成。

記憶體訪問速率除了受限於記憶體控制器的實現以及CPU與記憶體的時序匹配之外,還與應用程式有密切關係。沒有任何正常的軟體會只讀寫記憶體而不幹點別的事情,像Stream這種記憶體的帶寬測試軟體也是如此。Stream是在模擬普通應用軟體訪問記憶體的方式——在迴圈中讀寫數組,不像AIDA64那種執著於帶寬極限,因此Stream測試得到的記憶體訪問速率總是低於理論峰值。不過只要記憶體控制器效率越高,Stream訪問記憶體的速率也一定越高。

下麵是用Stream對8款CPU訪問記憶體速率的測試結果,分別測試了單通道-單線程、單通道-多線程、雙通道-單線程、雙通道-多線程。編譯參數使用了能代表大多數軟體的“-O”,對雙通道的情況又增加了對x86架構有加成的“-O3”參數。這8款CPU都是桌面CPU,但因為同系列的伺服器CPU使用的記憶體控制器一般也相同,只是增加了通道數量,所以通過下表中的測試結果也能估計它們對應的伺服器CPU訪問記憶體的效率。

 

從實測數據來看,海光3250的記憶體控制器效率和AMD R5-2600相似,是DDR4-3200和2666記憶體的差距造成了它們測試成績的差距。記憶體控制器效率與海光和AMD最接近的是龍芯,龍芯的記憶體控制器和CPU核心一樣都是自主設計。因為高水平的記憶體控制器和高性能的CPU核心一樣難以買到,所以兆芯和飛騰的記憶體控制器的效率都比較低,同樣是DDR4-2666記憶體,它們的訪問速率和海光的差距很大。

所有的stream測試項目,兆芯KX-U6780A和飛騰D2000的速率都比海光3250和龍芯3A5000要低。如果只看在使用“-O”作為基礎編譯參數時的記憶體複製效率,兆芯KX-U6780A和飛騰D2000在單通道和單線程時的記憶體訪問性能甚至只有海光3250和龍芯3A5000的一半左右。兆芯KX-U6780A甚至在“雙通道-多線程”時的記憶體訪問速度也只有海光3250和龍芯3A5000的一半左右。

 

下圖是在使用“-O3”參數之後,各CPU“雙通道-多線程”時4種測試項目的記憶體訪問速度。當使用“-O3”作為基礎編譯參數時,所有x86 CPU的記憶體複製的性能都有大幅度提升,但另外三項測試的速度沒有明顯變化。

 

從海光3250、AMD R5-2600、AMD R5-5600G的測試情況來看,AMD Zen和Zen3核心各自配套的記憶體控制器差距還是比較明顯的。龍芯自主設計的記憶體控制器也只是比兆芯和飛騰的更好,但與AMD及Intel還有相當大的差距。據介紹下一代龍芯6000系列已經補上了DDR4記憶體控制器的短板,達到了DDR4-3200記憶體的理論帶寬,也就是說stream測試的記憶體訪問速度應該和上表中AMD R5-5600G及Intel i9-10850k的測試結果近似。

UnixBench測試成績

UnixBench不是CPU測試工具,它測試的是最小整機系統的綜合性能。最小整機系統就是由CPU、主板、硬碟、記憶體、操作系統構成的可以啟動的完整系統,如果要測試UnixBench Graphics,那麼還可以算上顯卡。我們此次不測試Graphics,因為GPU是一個很大的變數。

UnixBench主要是測試一臺電腦處理日常事務的效率,包括文本處理、浮點函數、文件讀寫、進程創建、管道通信、腳本執行,這些都是應用軟體和操作系統常用的功能。因為所有功能的執行都與CPU有關,所以它的測試成績也與CPU性能有直接關係。但是操作系統如果對創建進程、管道通信等等功能進行優化,也能提高測試成績,因此UnixBench是既測試CPU也測試操作系統,記憶體和硬碟性能也占了一定的比重。總體上看,UnixBench的測試成績代表的是電腦執行日常任務的流暢程度。

 

UnixBench的測試也分為單任務和多任務,不過單任務中有一項是多腳本並行測試,會分派到多個核心上同時運行,因此UnixBench的單任務不是純粹的單核任務。UnixBench和SPEC CPU一樣也有“作弊”優化的手段,但老夫偏不許它們使用。

 

Intel i9-10850K無論是單任務還是多任務的成績都一騎絕塵,緊隨其後的是AMD 5600G,再之後就是海光3250和AMD R5-2600了。龍芯3A5000的單任務成績和AMD R5-2600是同一檔次,比海光3250和Intel i5-6500還高一些,但多任務成績就只能和兆芯KX-U6780A、飛騰D2000、Intel i5-6500歸為同一檔了。不過龍芯3A5000和Intel i5-6500只有4個核心,兆芯KX-U6780A和飛騰D2000有8個核心,也不知道誰會更加尷尬。

其實兆芯KX-U6780A和飛騰D2000在UOS系統中的的測試成績相對一年前已經提高了很多,因為最近一年UOS系統做了大量優化,帶來的附加效果就是它們的UnixBench多任務測試成績都提高了1000分左右,龍芯3A5000的UnixBench多任務測試成績也提高了近500分。

為了驗證成績提升確實來自於UOS系統優化,我用Ubuntu 22測試了KX-U6780A的UnixBench成績,單任務僅有678.1分,多任務也僅有3156.1分,而在UOS系統中的測試成績分別是962.3和4764.7分,說明UOS系統的日常應用流暢程度遠高於Ubuntu。只不過這些優化對SPEC CPU用處不大,各種純計算的任務主要還是依賴CPU本身的性能。

總結

目前國產CPU的性能與主流產品還有明顯的差距,因為CPU頻率的差距,即使海光和龍芯CPU的單核性能也只有主流中高端CPU的一半左右,兆芯和飛騰則幾乎沒有對比的價值。

在當前,國產CPU中海光的性能最高,龍芯在與海光的核心數量相同時性能差距甚小,飛騰和兆芯的桌面產品只能用8核逼平龍芯4核,頗為無力。國產CPU中龍芯的成長能力最強,單核性能達到或超過R5-2600和i5-6500 的產品今年底或明年初就能供貨,而IPC則能達到AMD Zen3和Intel酷睿12代的水準。

X86架構的軟體生態最完備,ARM和LoongArch在Linux上的軟體生態是半斤八兩,龍芯的二進位翻譯暫時還不能完全彌補與x86的生態差距。

國產CPU的性價比很低,但既然已經在討論性價比了,那就說明國產CPU的性能已經可以用了,至少海光和龍芯是可以用了。

海光CPU是引進技術的代表,既有性能又有生態,只是海光未來提升性能可能和兆芯飛騰一樣艱難;龍芯CPU是自主設計的代表,海光是龍芯即將跨過的最後一道門檻,今年過後龍芯CPU的性能在國產中必定一騎絕塵,軟體生態也更趨完善。龍芯將能全力追趕Intel和AMD——超越它們是龍芯的執念。


本文圖表中8款CPU的所有測試數據,均為老夫實測,若需查看SPEC CPU、UnixBench的原始測試報告,請移步下方截圖中所示地址。

  作者|guee

本文來自博客園,作者:古道輕風,轉載請註明原文鏈接:https://www.cnblogs.com/88223100/p/Comparison-of-performance-among-Longxin-Haiguang-Feiteng-and-Zhaoxin.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # 出錯信息 ``` 我使用flask時,運行後出現下麵的錯誤:Traceback (most recent call last): File "D:/github/lind-python/test-web.py", line 1, in from flask import Flask File " ...
  • ## 引言 之前說的做自動記錄 Todo 執行過程中消耗的時間的[Todo 項目]( https://github.com/circler3/TodoTrack ),由於想持續保持程式執行,就放棄了 `Spectre.Console.Cli`,後來隨著命令越來越多,自己處理覺得很是麻煩,想了想要不試 ...
  • 經常坐地鐵,卻不知道地鐵多少條線路?哪個站下車?今天就帶領大家熟悉並繪製深圳地鐵路線圖。 WPF在繪製矢量圖方面有非常強大的優勢,利用WPF可以繪製出各種矢量圖形,如線,圓,多邊形,矩形,及組合圖形。今天以繪製深圳地鐵路線圖為例,簡述WPF在圖形繪製方面的一些知識,僅供學習分享使用,如有不足之處,還 ...
  • 在本篇博客中,我將介紹如何在WPF應用程式中使用OwinSelfHost和Swagger來創建自托管的Web API。我們將使用WPF作為我們的應用程式界面,OwinSelfHost來自托管我們的Web API,並使用Swagger來為我們的API生成文檔。 首先,確保你的電腦上已安裝了以下組件: ...
  • 哈嘍大家好,我是鹹魚 今天跟大家分享一個使用 Python 的 logging 模塊寫入日誌文件時遇到的許可權問題,不知道你們有沒有遇到過 ## 1.案例現象 今天上班的時候手機簡訊收到了 zabbix 告警,但是發現了不對勁的地方:微信沒有收到告警信息,按理說簡訊跟微信應該是同時收到告警信息的 鹹魚 ...
  • 在我們安裝 VMware 時,VMware 會自動三種 3 種網路連接模式,分別為VMnet0 (橋接模式)、VMnet8 (NAT模式)、VMnet1 (僅主機模式),當然我們也可以根據需要自行創建更多的虛擬網路。 【個人實驗環境】 pc:win11家庭版 虛擬機:VMware Workstati ...
  • AH8670C 是一款內部集成有功率MOSFET管可設定輸出電流的降壓型開關穩壓器。TD:186*4884*3702*V可工作在寬輸入電壓範圍具有優良的負載和線性調整。寬範圍輸入電壓(8V至90V)可提供最大3A電流的高效率輸出,可在移動環境輸入的條件下實現各種降壓型 電源 變換的應用。 安全保護機 ...
  • > 安裝轉載:https://www.cnblogs.com/saryli/p/9729591.html > > 插件轉載:https://blog.csdn.net/nbdclw/article/details/107441772 #### 安裝及配置環境 ##### 第一步:下載並安裝erlan ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...