投稿者:

Collectionインターフェースの実装による速度の違い 1

といっても、そんなに小難しい話をするつもりはなくて

JavaのCollectionインタフェースに関して、各操作についてどの程度パフォーマンスが違うか測ってみた、というだけです。いつも無意識にListならArrayList、MapならHashMapを選んでしまう自分への警鐘ということで。

まずはListインタフェース。測定対象は以下。CopyOnWriteArraySetとか、この実験やろうとして初めて知った件。

List vector = new Vector();
List array = new ArrayList();
List linked = new LinkedList();
List stack = new Stack();
Set tree = new TreeSet();
Set hashset = new HashSet();
Set linkedset = new LinkedHashSet();
Set copy = new CopyOnWriteArraySet();

上記に対する計測対象の操作は以下の通り

  • 操作A: 50000個の要素を1回ずつput(要素はIntegerで0〜49999)
  • 操作B: 操作A後のものに対してイテレータを最初から最後まで回す
  • 操作C: 操作A後のものに対して対象をランダムに5000回containsを実行
  • 操作D: 操作A後のものに対して対象をランダムに5000回removeを実行

で、結果は以下の通り(単位はms、小数点四捨五入)。

Listインタフェース Setインタフェース
Vector ArrayList Linked
List
Stack Tree
Set
Hash
Set
Linked
HashSet
CopyOn
WriteArraySet
操作A 16 19 19 7 123 76 32 13589
操作B 20 18 21 25 20 14 7 3
操作C 367 357 1374 437 8 3 2 424
操作D 469 521 1940 461 25 5 12 2550

今回の目的は絶対値の計測ではなく実装の変化による速度の違いなので、縦の列でなく横の行における相対的な違いだけで見てもらいたい(速度自体はマシンによって変わるから)のですけど、かなりはっきりと違いが出ました。
ArrayListよりVectorの方が性能がよく見えるのはシングルスレッドで各操作をやっているからであって、これがマルチスレッドになるときっと変わってくるんでしょうね(Vectorは完全同期を取るので待ちが発生するはず)。
ListとSetでは、ランダムアクセス系でここまで顕著に差が出るとは。要件として重複があり得るかあり得ないかの確認はかなり重要、という訳ですね。HashSetよりLinkedHashSetのほうが数字がいいのがなんかおかしいような気もしますが。誤差の範囲かな。。
などなど、定量化して改めて設計の重要さを認識。

Mapインタフェースに関してはまた後日。。

広告
投稿者:

親知らず子知らず

少しづつ発達していた親知らずの状況を見てもらおうと、近所の歯科に行ったのですが

・完全に真横に生えちゃってますね〜。しかも手前の歯と接触していて、影響が及んでますよ
・もしかしたら顎の神経に触れてるかも?ってくらい深いところから生えてますね
・反対側も少し芽生えてきているので、こちらも取ってしまいましょうか
・ここ(小規模な歯科)では抜歯は難しいレベルので、紹介状書きますね

ということで、市立病院へのreferralをもらってしまいました。。。
ほっといて良化するものでもないので、さっさと引っこ抜いてもらおうと思います。

今更ながら今週からオフィス歯ブラシもデビュー。お昼休みは磨きをかけます(既に少し手遅れ)

ps こんな動画を見つけてしまいました。終わってから見ればよかった…

麻酔が抜けてからが本当の恐怖だ…(CV: ベジータ)

投稿者:

春の北関東

天気がよかったので、いろいろとめぐってきました。


渡良瀬遊水地。当日はヨシ焼き開催日でしたがそれを事前に知らなかったため、最初は同時多発テロかと思ってしまいました。。



古河市の桃まつり。一面がピンクの世界で圧巻。花見というのは桜でなくても良いことがわかりました。人も多すぎず少なすぎずで、とても居心地がよかったです。


まだ性能を生かしきれていない50mm F2.0の熟練度を上げるべく。


栃木にも少し足を踏み入れます。
真岡の温泉で暫しくつろいだ後、餃子をいただきに。今回選んだのは正嗣(まさし)と双璧をなすみんみん。王将も久しく行ってないし、餃子を食べるのが実は結構久しぶり。。

焼餃子〜

水餃子〜〜

揚餃子〜〜〜
充分に堪能しました。これにライスをつけても1人1000円以下というのが素晴らしい。


東京をまたいで帰宅するまで約2時間半。かなり久しぶりのドライブでございました。気温はまだ少し低いですが、春っぽさを少しずつ感じるようになってきましたね。

おまけ

前方のタンクローリーの中には別の世界が広がっていました

投稿者:

これだ

名前は一人か二人くらいしか知らないし、他の歌ほとんど知らないけど。
CMでちょっと流れただけで、あ、これはなんかいいなと思いました。


(消えるかも)

昔からモーニング娘。などの大人数のアイドルグループは順番にソロを歌うような形じゃなくて、もっとその人数を活かした歌い方をした方がいいんじゃないかと思っていたんだけど、まさにそれを実現した形。
(というか、昔は少しやってたはずなんだけどね)

卒業式で歌ったりする学校もあるんでしょうね。

高校時の(心の)卒業ソングはWay of Difference。中学はとくにないんですよね。もう1年早かったらMy Graduationなんですが。。

投稿者:

観賞済みまとめ

忘備録替わりです。ここ最近余暇時間があるときは頻繁にTSUTAYAに足を運ぶことが多いのですが、借りたことを忘れてまた借りるというオチが怖く…。定期的に記録を残しておくことは大事ですね。

サマーウォーズ [DVD]
サマーウォーズ [DVD]
おすすめ平均
stars作品感想
starsよく言うと、普通じゃん?とラストのネタバレ
stars期待しすぎないほうがいいけど
starsおもしろかった
stars面白いっちゃぁ面白いが。

Amazonで詳しく見る by G-Tools

ダ・ヴィンチ・コード デラックス・コレクターズ・エディション [DVD]
ダ・ヴィンチ・コード デラックス・コレクターズ・エディション [DVD]
おすすめ平均
stars小説を読んでから見るとがっくり
stars楽しめる歴史サスペンス映画
stars私は楽しめた
starsう〜ん…
stars初めて眠った作品

Amazonで詳しく見る by G-Tools

ベンジャミン・バトン 数奇な人生 [DVD]
ベンジャミン・バトン 数奇な人生 [DVD] スコット・フィッツジェラルド

おすすめ平均
stars幸せな時を感じる
stars疑問が残る
starsあらゆる人が急速に遠ざかっていく
starsそれぞれの人生・・
stars人生について

Amazonで詳しく見る by G-Tools

スラムドッグ$ミリオネア [DVD]
スラムドッグ$ミリオネア [DVD]
おすすめ平均
stars人生には、何一つ無駄なものなどない
starsこれぞ映画の醍醐味!
starsインド経済
starsクイズ番組の裏話かと思ったら、現代インドの純愛大河ドラマだった。
starsクイズとインド

Amazonで詳しく見る by G-Tools

スタンド・バイ・ミー コレクターズ・エディション [DVD]
スタンド・バイ・ミー コレクターズ・エディション [DVD]
おすすめ平均
stars誰もが体験したスタンド・バイ・ミー・・・友情は忘れない!
stars『大人になるにつれて・・・』
stars懐かしい!!最高!!
stars別れる時は「さよなら」ではなく「またね」と言おう。いずれ別れることになる親友たちへ。
starsWhen the night has come And the land is dark・・・・

Amazonで詳しく見る by G-Tools

ビューティフル・マインド [DVD]
ビューティフル・マインド [DVD]
おすすめ平均
starsなかなか・・
starsこれは名作だわ。
stars区別
stars映画としては素晴らしい

Amazonで詳しく見る by G-Tools

ディープ・インパクト [DVD]
ディープ・インパクト [DVD]
おすすめ平均
stars見るに値しない
starsぜひ大音量で!
stars特撮だけには頼らない、闘う人々を描いた感動作
stars泣かせるパニック物の新地平
stars感動、感涙

Amazonで詳しく見る by G-Tools

サウンド・オブ・ミュージック 製作40周年記念版 (ファミリー・バージョン) [DVD]
サウンド・オブ・ミュージック 製作40周年記念版 (ファミリー・バージョン) [DVD]
おすすめ平均
stars40年後の大佐は、やっぱりかっこいい
starsやっぱいいッス
starsサウンド・オブ・ミュージックの新たな魅力の発見
stars温かく,考えさせられる作品。
starsミュージカル映画の1つの最高峰

Amazonで詳しく見る by G-Tools

邦画・アクションものは少ないです。好みがはっきり出てるなぁ。

この中で一番面白かったものを敢えてつけるとすれば、ビューティフルマインド。
映画は事前知識0で見るのがいちばんです。原作はその後に読むのが吉。いつかは字幕無しで見れるようになりたいなぁ

投稿者:

確定申告をネットプリントする際の注意点

去年もはまりましたけど、お国が生成するPDFは今年もversionが古いので画像にする必要があります。

だいたいはこの記事が詳しいです
Sohgetsu Blog: ネットプリントで確定申告書を印刷(2009年版)

地味にPrimoPDFでの画像生成にてこずったので、PRTGRAPHを代わりに入れましたが。。

全部仮想化上のWindows XPでやりましたが、仮想化でなんでもできる世の中になってきて、素晴らしいですね(ただしゲームは除く)。。

最近覗いたお店でもらった本。世界は広いですねぇ。。

投稿者:

気づいたら2010

あけましておめでとうございます。


2010年の瞬間は同業(でもけっこうWeb寄り)の友人宅@秋葉原にて迎えました。いつも実家だったけど今回は仕事の関係上、大晦日も統合テストなどを実施していたりなどありまして…で、仕事先から出た足で直接向かったわけですが…眺め良すぎですねここ。家賃聞いたけど忘れることにしましょう。

元旦当日は神田明神へ行ってみたりアメ横界隈をぶらぶらしてみたりと、なかなかいつもの年始とは違う感じのスタートを切ることができました。

秋葉原の地を活かし、ヨドバシでさくっと(人気どころではない種類の)福袋を調達してみたり。

実は福袋らしい福袋を買ったのは初めてかも。たまには良いですね。内容にも満足してます。

年末も出るハメになったプロジェクトは今月が終了予定ですが、お客さまとの関係はかなり良好に。それこそ働きが認められてスカウトの冗談(冗談?)が飛び出すくらい。

実際のところ、今年は自分にとって最もモチベーション高く働ける環境を模索する年になっていくかもしれません。条件となる変数はいろいろあるけれども、トータルで考えて。それはこのスカウトの冗談?とは関係無しに。

充実した年にしていきましょうー