3

我在超级计算机上进行大型模拟。由于这些模拟运行起来很昂贵,我需要不时地将结果写入磁盘。此外,大多数超级计算机的最长运行时间为 1 或 2 天,之后您的工作将自动终止。因此,我需要能够向我的应用程序添加“恢复”功能。

对于大型数据集,我使用“原始”二进制文件,因为这是将信息转储到磁盘的最快速度。稍后,我可以将这些二进制文件转换为可以在普通桌面上进行后处理的格式。但是,我还需要在代码运行时记录一些关于模拟的参数信息,这样我就不会遇到任何问题来确定我的结果对应的参数集。

此外,我需要一个配置文件,以便可以在我开始/恢复作业时设置参数。我想要做的是将日志记录/配置文件合并到一个步骤中,以便代码可以将所有需要的信息记录到配置文件中以供下一次恢复。我还需要这个文件易于人类阅读、分层,并且在解析库方面有很好的支持。我主要关心的是我正在开发的语言,即,C++但也可以得到支持python

到目前为止,我正在xml使用中这样做,boost::property_tree但我不确定这是最好的方法。具体来说,我的xml文件似乎有点太冗长了!我可以使用的文件格式有更好的选择吗?图书馆支持怎么样?我更喜欢仅包含头文件的库,以防止更改构建结构。

4

1 回答 1

0

对于 Python无法处理的标准文件类型,您将处于非常独特的境地——因此,只要您坚持标准(即 xml、json、ini、...),与 python 一起工作的要求永远不会成为一个问题。

正如其他人所说,JSON 和 XML 是您的最佳选择。行业标准永远不会出错。更好的文档,更广泛的测试,更好的代码可读性——从听起来,XML 和 JSON 都可以做你想做的事情,并且编码/解码它们是可比的。如果文件大小是一个问题,我相信未压缩的形式,JSON 更轻量级 - 如果不是,只需选择对您来说更易于阅读的文件类型。

于 2013-02-15T17:49:29.290 回答