多くのJson-Files(平均50ファイル、すべてのファイルの平均ファイルサイズが9MB)を評価するアルゴリズムを作成しました。この評価は138回繰り返します。
最初に、大きな500mbのjsonfileにデータが書き込まれ、その後、小さなファイルに分割されてデータが処理されます。私はJSON.NETを使っています。
ファイルの読み込みに時間がかかりませんが、ファイルをJObjectに解析するには平均で1.5秒かかります。私は50回のファイルを138回読んでいます。それは、ファイルを6900回読み込んでいます。
一つの実行がC#Jsonを使用した多くのファイルの反復評価
は138人のユニークなプレーヤーがある想像し、このアルゴリズムが何をしているかを証明するには...時間への道にずっとある平均4-5時間、私は持っていけない時間がかかり、それらはすべて50.000を果たしましたゲーム。今、あなたは50,000点のゲームを手に入れ、すべてのプレイヤーの平均値を評価したいと思っています。今度は、すべてのプレーヤーのためにこれらの50のファイルを調べなければなりません。ファイルの値が書き込まれ、次のプレーヤーの評価が開始されます。私のアルゴリズムは、リストを埋める、値を追加する、平均値を計算するなどの機能を使用しているので、これは、評価ごとに約1,2-2GBのRAMを必要とします。計算自体は速く、現時点では改善が必要ないので、より速い経験を生み出すことができます。
並列処理は偉大workes APIからデータを収集するために使用されますが、評価の場合には、処理されるときに、ファイルがロックされているので、それは多くのRAMなどにまでかかるだろう、使用することはできません
私の質問は、私はそれが今よりも速く処理することができる技術はありますか?繰り返し6900ファイルの平均を処理することは悪い練習と間違っているようだ、私は何かが不足していると思う...
ありがとうございます!
と呼ばれ、少なくともなし:
だから要約すると、私は
に置き換えますファイルをどのように読んでいるのかを示すいくつかのコードは、合理的な提案をするのは不可能です。あなたの質問を具体的な例で更新してください。私はあなたを助けてくれるでしょう。 –