我在超级计算机上做大型模拟。由于这些模拟运行起来很昂贵,我需要不时地将结果写入磁盘。此外,大多数超级计算机的最大运行时间为1或两天,之后您的作业将自动终止。因此,我需要为我的应用程序添加“简历”功能。
对于大型数据集,我使用“原始”二进制文件,因为这是将信息转储到磁盘的最快速度。稍后,我可以将这些二进制文件转换为可以在普通桌面上进行后处理的格式。但是,我还需要在代码运行时记录有关模拟的一些参数信息,这样我就不会有任何问题来确定我的结果对应的参数集。
此外,我需要一个配置文件,以便可以在启动/恢复作业时设置参数。我想要做的是将日志/配置文件合并为一个步骤,以便代码可以将所有需要的信息记录到下一个简历的配置文件中。我还需要这个文件易于人类阅读,分层,并且在解析库方面有很好的支持。我主要担心的是我正在开发的语言,即C++
,但在python
中也可以获得支持。
到目前为止,我正在xml
使用boost::property_tree
进行此操作,但我不确定这是最好的方法。具体来说,我的xml
文件看起来有点过于冗长!我可以使用哪种更好的文件格式选项?图书馆支持怎么样?我更喜欢仅限标头的库来防止更改构建结构。
答案 0 :(得分:0)
对于Python 不处理的标准文件类型,您将处于一种非常独特的情况 - 只要您坚持使用标准(即xml,json,ini,...) ,与python一起使用的要求永远不应该成为一个问题。
正如其他人所说,JSON和XML是您的最佳选择。行业标准永远不会出错。更好的文档,更广泛的测试,更好的代码可读性 - 听起来,XML和JSON都可以做你想要的,编码/解码它们是可比的。如果文件大小是一个问题,我相信未压缩的形式,JSON更轻量级 - 如果不是,只需选择更易于阅读的文件类型。