介绍
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替换