原生Token轉賬
在原生Token轉賬效能測試中,PlatON轉賬平均TPS為9604筆/秒,最大值為14755筆/秒,EOS轉賬平均TPS為3049筆/秒,最大值為5393筆/秒。
· 在CPU使用率增長不多的情況下,PlatON效能明顯優於EOS,這是由於PlatON的並行交易機制大大提升了效能。
· PlatON的記憶體和網路資源消耗遠小於EOS,從原生Token轉賬資源消耗圖中看,測試過程中儲存整體消耗兩者差不多,但是平均到交易,PlatON的儲存消耗遠低於EOS。
· 交易確認時間上,PlatON和EOS均比較穩定。PlatON中每個區塊達到最終確認的條件是後續有2個子孫區塊被投票確認。按照EOS的說法[2],每輪由21個節點輪流出塊,每個節點連續生產12個區塊,每個區塊要達到最終確認,需要經過兩個輪次,每個輪次需要收齊至少15個節點的間接確認,也就是說每個區塊至少需要等待後續15x12x2=360個區塊才能最終確認,按照EOS平均出塊時間為0.5秒計算,最終確認時間為180秒,比PlatON長。
Token合約轉賬
PlatON-EVM效能略高於EOS,PlatON-WASM效能相對略低,有提升的空間。PlatON在記憶體網路資源上的消耗均遠小於EOS,儲存消耗兩者差不多。
交易確認時間上,PlatON和EOS均比較穩定,EOS區塊的最終確認需要等待360個區塊,TTF比PlatON長。
Key-value合約
在key-value合約轉賬效能測試中,PlatON-EVM呼叫keyvalue合約平均TPS為5237筆/秒,最大值為6304筆/秒。PlatON-WASM呼叫keyvalue合約平均TPS為3297筆/秒,最大值為3797筆/秒。EOS呼叫keyvalue合約平均TPS為2451筆/秒,最大值為6268筆/秒。
· PlatON效能明顯優於EOS,CPU佔用也更高,說明PlatON在多核CPU的利用率更高。
· PlatON的記憶體和網路資源消耗遠低於EOS,儲存消耗差不多。
· 交易確認時間上,PlatON和EOS均比較穩定,EOS區塊的最終確認需要等待360個區塊,TTF比PlatON長。
· 在測試過程中EOS共識節點記憶體不斷增長,導致記憶體超系統極限被OS殺掉,在以上圖中也可看到明顯的中斷曲線。
測試總結
透過對PlatON和EOS的對比測試,總結如下:
· 受益於基於DAG的並行交易機制,PlatON的原生Token轉賬TPS效能優勢明顯。
· 在合約交易上,兩條公鏈的效能差異不大,PlatON的WASM合約效能有提升空間。
· 共識機制上的最佳化,使得PlatON的最終確認時間遠比EOS低。
· PlatON更能充分利用CPU,在記憶體、網路上的開銷遠低於EOS,測試過程中儲存整體消耗兩者差不多,但是平均到交易,PlatON的儲存消耗低於EOS。
· EOS在測試過程中記憶體不斷上漲經常漲到一定閾值後程序被系統kill呼叫,具體原因待進一步分析和明確。
參考資料:
[1] Mengting Liu, Yinglei Teng, F. Richard Yu, "Deep Reinforcement Learning based Performance Optimization in Blockchain-Enabled Internet of Vehicle", IEEE International Conference on Communications (ICC), 2019.
[2] Daniel Larimer, “DPOS BFT— Pipelined Byzantine Fault Tolerance” , Internet, http s://medium.com/eosio/dpos-bft-pipelined-byzantine-fault-tolerance-8a0634a270ba, 2018.