[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 10586] Re: レガシーコレ クションクラス (Re: リファクタリングを読む会第 6 回議事録)



(株)ネットジーンの村山です.

>   何か具体的な例とかありますでしょうか?
>   参考にしたいと思います。

> > 「Vector,Hashtableなどのレガシーコレクションクラスは使うべきではない.」
> > です.特にJ2EE分野では.

難しい質問ですねー.(^^;
#「計算量がO(n!),或いはそれ以上のソートアルゴリズムを考案しろ」
#ってのは,結構難しいでしょ?
##例「ランダムに並び替えて順序を確認.順番に並ぶまでこれを繰り返す.」
###多分,擬似乱数を使った実装じゃ駄目でしょう.本物の乱数を使わないと.


すごーく馬鹿な例ですが,並列クイックソートなんてどうでしょう.

Vectorとかを使ってはっきりと速度低下が分かる例なんて,これくらい馬鹿
げた実装をしない限り,そうそう出ないと思います.これくらい馬鹿なことを
やってさえも,果たして体感できるほどの速度低下があるかどうか.

ただ,こういう実装をしていると技術力が疑われるでしょうがね.
#どちらかと言うと,こっちの方が大きい問題かもしれない.

あと,ものによってはキャッシュのミスヒットが増えてメモリバスの負荷が
増える可能性もあります.(いわゆる,フォンノイマン=ボトルネックかな?)
これも,それ単独では必ずしも体感できるとは限りません.特に共有メモリ
マシンではメモリバスがボトルネックになるのは分かっているので,可能な
限り高速なバスを採用していますから.
#いずれにせよ,避けるに越したことはないとは思う.わざわざ金をかけて
#高速なバスを採用しているのに,Vectorを使うだけでそれを帳消しにする
#のはバカみたいだから.

-- 
村山敏清 株式会社ネットジーン 
〒169-0051 東京都新宿区西早稲田2-15-10 2F 
E-mail:murayama@xxxxxxxxxxxxx 
TEL:03-5155-3720 FAX:03-5155-3723
http://www.netgene.co.jp/