ini 解析器

介绍

windows 的ini读取使用 GetPrivateProfileInt等函数,需要切换到跨平台接口

比较对象

  • windows函数
  • iniDoc类
  • simpleini
  • boost 属性树

测试数据

  • 10w 次读操作
  • ini 大小10k
读性能 (ms)
boost 属性树 85658
windows 自带 8600
iniDoc 28094
simpleini 34641
  • 10w次读操作
  • ini大小1k
读性能 (ms)
boost 属性树
windows 自带 7672
iniDoc 5718
simpleini

结论

性能瓶颈应该在模式设计上,除windows以外的库,都是先把ini文件读入内存,然后解析所有的key、value;
而windows应该是先查找到文件位置然后只获取附近的key、value即可。

暂时采用iniDoc,并在代码中尽量规避频繁读写ini文件。
只要配置文件不要过大,完全可以用inidoc替换