在涉及處理包含空格分隔浮點行的海量文件的場景中,瓶頸通常不在於文件訪問但在解析過程中。
該問題介紹了一種涉及使用流運算符(>>)進行連續提取的技術,該技術可能高效但速度有限。此外,也提到了字串分割函數 strtok,但它需要進一步轉換為浮點數。
Boost Spirit,特別是其基於語法的解析器,證明了成為這項任務的最佳選擇。它以驚人的效率處理資料驗證、錯誤報告和空白靈活性。
提問者進行的廣泛基準測試顯示Boost Spirit 優於所有其他替代方案:
[效能比較圖]
對於使用C 14 的人來說,實驗性的Spirit X3甚至更快,如更新的基準測試所示。
下面的程式碼片段展示了Boost用於解析給定行格式的Spirit 實作:
bool ok = phrase_parse(f, l, (double_ > double_ > double_) % eol, blank, data);
以上是Boost Spirit 如何加速 C 中的空格分隔浮點解析?的詳細內容。更多資訊請關注PHP中文網其他相關文章!