我发现 boost::property_tree::ptree 具有巨大的内存开销。我的估计是一个空的 ptree 大约有 150 个字节,并且,放入 ptree 中的任何条目至少会增加另外 150 个字节。这使得我们无法使用包含数千个条目的树。
我的估计有问题吗?有什么方法可以保持低开销吗?
我发现 boost::property_tree::ptree 具有巨大的内存开销。我的估计是一个空的 ptree 大约有 150 个字节,并且,放入 ptree 中的任何条目至少会增加另外 150 个字节。这使得我们无法使用包含数千个条目的树。
我的估计有问题吗?有什么方法可以保持低开销吗?
Boost.PropertyTree 基本上不是一个快速或轻量级的解析器。
它专注于提供高层便利和功能,所以我猜它并不是为了高效而构建的。
你可以在 boost mailing list 上看到这个线程来解决类似的问题。
我建议 Boost.PropertyTree 的替代方案可能是: