私は現在、JavaプロジェクトでJSON(gzipで圧縮)を使用しています。何百万ものディスク)。 1行に1つのJSONオブジェクトがあり、JSONオブジェクト内で改行が許可されません。この方法で、ファイル全体を一度に読み取ることなく、ディスクごとにデータをストリーミングできます。高速、コンパクト、ストリーミング、多言語、厳密に型指定されたシリアライズフォーマット
(http://www.json.org/java/を使用して)JSONコードを解析すると、生のデータをディスクから取り出したり、解凍したりするよりも大きなオーバーヘッドになります。
理想的には、厳密に型指定されたシリアライゼーション形式です。ここでは、「このオブジェクトフィールドは文字列のリストです」(たとえば)と指定することができ、システムは何を期待するのかを知っているため、早く。他の人に "タイプ"を与えるだけで、フォーマットを指定することもできます。
また、クロスプラットフォームである必要があります。私はJavaを使用しますが、PHP、Python、およびその他の言語を使用する人々と協力します。
ので、復習のために、それは次のようになります。
- が強く
- たStreamable(。つまり、一度RAMにそれをすべてをロードすることなく、ビットによるファイルのビットを読んで)
- クロスプラットフォームを入力しました(JavaとPHPを含む)
- 高速
- 無料(スピーチのように)
ポインタはありますか?
生データをディスクから取り出す方が高速な場合は、どうすればよいですか?なぜJSONが遅いのですか? –
さて、jsonを解析するのは、解凍したり、ディスクからデータを読み込んだりするよりも遅いです。だから何?あなたは何をする必要があるのか遅すぎですか?それとも、あなただけのために最適化していますか? – Breton
ブルトン:それはあまりにも遅いので、早すぎる最適化ではありません。 – sanity