3

スーパーコンピューターで大規模なシミュレーションを行っています。これらのシミュレーションは実行に費用がかかるため、時々結果をディスクに書き込む必要があります。また、ほとんどのスーパーコンピューターの最大実行時間は 1 日か 2 日で、その後ジョブは自動的に終了します。その結果、アプリケーションに「再開」機能を追加できるようにする必要があります。

大規模なデータセットの場合、情報をディスクにダンプできる最速の「生」バイナリ ファイルを使用します。後で、これらのバイナリ ファイルを、通常のデスクトップで後処理できる形式に変換できます。ただし、コードの実行時にシミュレーションに関するパラメーター情報をログに記録する必要もあります。これにより、結果がどのパラメーター セットに対応するかを判断する際に問題が発生することはありません。

さらに、ジョブの開始/再開時にパラメーターを設定できるように、構成ファイルが必要です。私がやりたいことは、ロギング/構成ファイルを1つのステップにマージして、コードが次の再開のために必要なすべての情報を構成ファイルに記録できるようにすることです。また、このファイルは、人間が簡単に読み取れる、階層化されたものであり、解析用のライブラリに関して適切にサポートされている必要があります。私の主な関心事は、私が開発している言語です。つまり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 に答える