什麼是bench?bench的結果說明了什麼?
bench 是皮卡魚的一個 UCI 指令。在執行 bench 時,皮卡魚會對內建的 48 個局面進行 1 核心計算(預設是 13 層),計算完後,引擎會輸出總時間、搜尋的總節點數和每秒搜尋的節點數。
text
===========================
Total time (ms) : 1561
Nodes searched : 1879868
Nodes/second : 1204271例如,執行 bench 指令後,最終輸出如上資訊,「Total time (ms)」即為總時間(毫秒),「Nodes searched」為搜尋的總節點數,「Nodes/second」(簡稱 nps)為每秒搜尋的節點數。
如果要進行多執行緒測速,可以輸入 bench 128 執行緒數。
例如 8 核 16 執行緒的機器,輸入 bench 128 8 來測全核心的速度,也可以 bench 128 16 來測全超執行緒的速度。
bench輸出的Nodes/second值越大,引擎一定越強嗎?
答案是不一定。具體解析可以參考NPS(K值)是什麼?代表棋力嗎?條目。
拓展功能:speedtest
最新的皮卡魚亦引入了 speedtest 指令,可用於測速,但用於測速的局面比 bench 多得多,能夠較為穩定地反映計算機效能,預設使用全部執行緒進行測速,自動根據執行緒數分配置換表。
