整数の集合演算が高速に行えるFigureSetをリリースしました。月毎gems整数の集合演算が高速に行えるFigureSetをリリースしました。2012(約7年前)整数の集合の演算が高速に行えるFigureSetをリリースしました。https://github.com/tsukasaoishi/figure_set以下でインストールできます。figure_set以前、Rejuicerというライブラリを作ったのですが、その中で集合演算を高速に行う必要があって、RejuicerSetというライブラリを作っていました。触っていくうちに、RejuicerよりもRejuicerSetのほうが重要になってきたため、名前を変えて分離した上で改めてリリースすることにしました。基本的にはRejuicerSetと大きく変わったところはありません。末端ノードで保持するデータを64ビットに対応させたことと、メモリの節約のために枝ノードが持つ腕の数を256から16に減らしています。いくつかのバグも修正しました。Readmeを見れば使い方は一目瞭然かと思いますが、ざっくりと紹介すると以下のように使えます。[]処理速度に関しては、RejuicerSetと比較して大差ありません。集合の要素にもよりますが、0から100万までの間の3の倍数の集合と5の倍数の集合の、積集合、和集合の計算はすこし速くなっています。0.004325)まだパフォーマンス的にちょっと問題があるのでREADMEには載せていませんが、sampleというメソッドが用意されていてランダムに集合の中から指定した数の要素を取得することができます。889242]サンプル数が一桁ならパフォーマンスは問題になることはないと思います。RejuicerSetでは、to_aしたあとにランダムソートしてピックアップする必要がありましたが、それに比較すると相当に速いでしょう。バージョン0.0.4をリリースしました。すべてがFになるヘリコプターにうってつけの夜。