坊間有非常多的 C/C++ JSON 庫,怎麼選擇是一個難題。
[nativejson-benchmark](https://github.com/miloyip/nativejson-benchmark)應該是史上第一個評測了28個C/C++開源JSON程序庫的開源項目,它評測了每個庫是否符合 JSON 標准 (RFC7159, ECMA-404),並且在性能上測試了各個操作如解析、生成)的耗時、內存用量等數據,甚至可執行文件的大小也有統計。
這個項目也希望能夠通過互相學習借鏡,提升現時或未來的 JSON 程序庫品質。
由於每個評測也不能完全覆蓋所有數據及軟硬件組合,建議使用者可自行在所需的平台和數據下進行測試。
以下是 iMac ([email protected]) 及clang 6.1_1 64-bit下的部分結果,詳情可訪問這裡。
符合標准程度越高越好):
解析至DOM的時間越低越好):
解析至DOM後的內存越低越好):
把DOM生成JSON的時間越低越好):
把DOM生成含換行及縮進的JSON的時間越低越好):
可執行文件把JSON解析至DOM,然後統計JSON類型)的大小越低越好):