提升属性树性能
Posted
技术标签:
【中文标题】提升属性树性能【英文标题】:boost property tree performance 【发布时间】:2012-08-12 04:53:27 【问题描述】:我计划为我们的应用程序http://www.boost.org/doc/libs/1_41_0/doc/html/property_tree.html 使用 boost 属性树。现在我想知道,每次我们调用这个方法 pt.get("debug.level", 0);它是再次读取整个文件还是从内部缓存中提供值。这个库有性能评估结果吗?它是否读取内存中的整个文件并从那里提供数据?任何人都可以分享他们使用这个库的经验吗?
【问题讨论】:
-1:由于缺乏研究工作。仅查看 API 就很清楚,属性树和“文件”之间没有连续的联系。如果没有其他原因,您根本不需要文件来创建文件。 【参考方案1】:图书馆运作良好。您将文件加载到内存中,对属性树进行操作(查询、更新等),然后在完成后再次将其写出。
我们已经将它用于一些大到足以在使用boost::property_tree
和std::string
在 32 位机器上加载它们时耗尽地址空间的 JSON 文件。用缓存字符串类替换 std::string
效果很好。
对于大多数您实际上只是查看配置文件的应用程序来说,这很好。
【讨论】:
以上是关于提升属性树性能的主要内容,如果未能解决你的问题,请参考以下文章