昨晚寫了一篇關於最佳化 jieba-rs 英文的介紹,但想說 jieba 的使用者多半還是在中文圈,對於宣傳來講 hacker news 跟 reddit 可能無法觸及到真正會使用的使用者,於是為了宣傳,也是為了讓 search engine 可以搜尋到,就來把性能的部分另外寫成中文的一篇。關於過程我就不再重新用中文再寫一次了,實在太累人了。有興趣的人可以閱讀英文版
測試機器的機器規格如下
MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)
2.5 GHz Intel Core i7
16 GB 2133 MHz LPDDR3
測試過程仿照結巴(Jieba)中文分詞系列性能評測所描述,先一行一行讀取檔案圍城到一個陣列裡,然後循環 50 次對圍城每行文字作為一個句子進行斷詞。 分詞算法都是採用精確模式,也就是包含了 HMM 的部分。
耗時的資料如下,從高到低排序
cppjieba |
6.219s |
866d0e8 |
jieba-rs (master) |
4.330s |
a198e44 |
jieba-rs (darts) |
4.138s |
ab2fbfe |
以上耗時都是計算斷詞過程的耗時,不包括字典載入的耗時。
這篇會著重於評測只是為了宣傳,並不想陷入語言之爭,這也是我英文版有寫主要是分享關於用 Rust 最佳化的經驗,也是為了我自己衡量可以在工作中多認真使用 Rust 為目的。