海量データ処理の最適化
5539 ワード
今回書いた宝くじの比較アルゴリズムは、4000万個以上の数字から3万元を超えて、それぞれ4000万元と30万元を取って、50万個の数字を比較するアルゴリズムと5回走って40秒以上かかります。効率が低いと感じて、海量データ処理に関する文章をいくつか探しました。最適化の方法があるかを見てみたいです。
1.十個の海量データの面接問題と十大方法のまとめ: http://blog.csdn.net/v_jurlyuv/articale/detail/6279498
2.99%の大海量データをどのように処理しますか? http://blog.csdn.net/v_jurlyuv/articale/detail/7382693
3.Bloom Filterワンストップ教程: http://blog.csdn.net/v_jurlyuv/articale/detail/7382693
n個の異なる乱数をとることについて。最近stackoverflowでこの質問を見ましたが、ルビーの一般的な方法は以下の通りです。
p
(
1
..
max
)
・to_a.
shuffle
[
0
を選択します。
n
」
nとmaxが共に百万レベルであることを考慮すると、ハッシュ速度で明らかに速くなる。
1.十個の海量データの面接問題と十大方法のまとめ: http://blog.csdn.net/v_jurlyuv/articale/detail/6279498
2.99%の大海量データをどのように処理しますか? http://blog.csdn.net/v_jurlyuv/articale/detail/7382693
3.Bloom Filterワンストップ教程: http://blog.csdn.net/v_jurlyuv/articale/detail/7382693
n個の異なる乱数をとることについて。最近stackoverflowでこの質問を見ましたが、ルビーの一般的な方法は以下の通りです。
r = [ ]
while r.length < n
v = rand(max)
r << v unless r.include? v
end
またはp
(
1
..
max
)
・to_a.
shuffle
[
0
を選択します。
n
」
nとmaxが共に百万レベルであることを考慮すると、ハッシュ速度で明らかに速くなる。
hash = {} r = [ ]
while hash.length < n
a = rand(max)
if !hash_has_key? (a)
hash(a) = :ok
end
end
r = hash.keys