28個C/C++開源JSON程序庫性能及標(biāo)準(zhǔn)符合程度評測
坊間有非常多的 C/C++ JSON 庫,怎么選擇是一個難題。
[nativejson-benchmark](https://github.com/miloyip/nativejson-benchmark)應(yīng)該是史上***個評測了28個C/C++開源JSON程序庫的開源項(xiàng)目,它評測了每個庫是否符合 JSON 標(biāo)準(zhǔn) (RFC7159, ECMA-404),并且在性能上測試了各個操作(如解析、生成)的耗時(shí)、內(nèi)存用量等數(shù)據(jù),甚至可執(zhí)行文件的大小也有統(tǒng)計(jì)。
這個項(xiàng)目也希望能夠通過互相學(xué)習(xí)借鏡,提升現(xiàn)時(shí)或未來的 JSON 程序庫品質(zhì)。
由于每個評測也不能完全覆蓋所有數(shù)據(jù)及軟硬件組合,建議使用者可自行在所需的平臺和數(shù)據(jù)下進(jìn)行測試。
以下是 iMac (Corei5-3330S@2.70GHz) 及clang 6.1_1 64-bit下的部分結(jié)果,詳情可訪問這里。
符合標(biāo)準(zhǔn)程度(越高越好):
解析至DOM的時(shí)間(越低越好):
解析至DOM后的內(nèi)存(越低越好):
把DOM生成JSON的時(shí)間(越低越好):
把DOM生成含換行及縮進(jìn)的JSON的時(shí)間(越低越好):
可執(zhí)行文件(把JSON解析至DOM,然后統(tǒng)計(jì)JSON類型)的大?。ㄔ降驮胶茫?/p>