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