枝を形成するところgoroutine化できないか
ddddddO opened this issue · 1 comments
ddddddO commented
以下でgoroutineを使えれば、かなり早くなるのではないかと推測
推測なので計測しないとかもだけど、手間なら実施前後で速度に差が出るか確認するでいい
Lines 36 to 38 in d604aac
この処理時点では既に木としての構造はできてるはずで、currentの処理は、他のnodeへの副作用はなさそうだし、他のnodeのこの処理が終わってないとできない、ということも無さそうなので、goroutine化は可能そうに思う
実際にやるならgoroutineのlimitは設ける
race conditionは起こりうるかな
ddddddO commented
あーでも、↑が遅さの原因ではなさそう
gtree/simple_tree_grow_spreader.go
Line 27 in d604aac
が使われるはずなので、木を作るとこが時間かかってるみたい
難しい
たぶん、Addメソッド内のfindで時間かかってる
mapは順序保証されてないから、findだけmap使って、出力はslice使う、という感じがいいかも
でもどうかなぁ