我在超级计算机上进行大型模拟。由于这些模拟运行起来很昂贵,我需要不时地将结果写入磁盘。此外,大多数超级计算机的最长运行时间为 1 或 2 天,之后您的工作将自动终止。因此,我需要能够向我的应用程序添加“恢复”功能。
对于大型数据集,我使用“原始”二进制文件,因为这是将信息转储到磁盘的最快速度。稍后,我可以将这些二进制文件转换为可以在普通桌面上进行后处理的格式。但是,我还需要在代码运行时记录一些关于模拟的参数信息,这样我就不会遇到任何问题来确定我的结果对应的参数集。
此外,我需要一个配置文件,以便可以在我开始/恢复作业时设置参数。我想要做的是将日志记录/配置文件合并到一个步骤中,以便代码可以将所有需要的信息记录到配置文件中以供下一次恢复。我还需要这个文件易于人类阅读、分层,并且在解析库方面有很好的支持。我主要关心的是我正在开发的语言,即,C++
但也可以得到支持python
。
到目前为止,我正在xml
使用中这样做,boost::property_tree
但我不确定这是最好的方法。具体来说,我的xml
文件似乎有点太冗长了!我可以使用的文件格式有更好的选择吗?图书馆支持怎么样?我更喜欢仅包含头文件的库,以防止更改构建结构。