永遠のビギナーのブログ -70ページ目

10億までの素数を出力してみた。

元記事はこちら 。

動機は最近のCPUと古いCPU、ネイティブコードと.netフレームワークの実行速度でどちらがどのくらい強いかに興味が出たのでエラトステネスの篩で素数出力させてみた。

向こうはi7-9xx(忘れた)でこっちはPen4の2.6GHz(7年くらい前か?)、VS2010とgcc4.1.2でメモリ量は不明。(こっちは4G。)で向こうは10億出力に計算2分、ディスクIO1分と書いてある。こっちはなんと計算45分、ディスクIO25秒。???あれ、向こうのディスクIO遅すぎない?同じプレーンテキスト出力なのに倍は変でない?こっちはATA66であっちは多分SATAだろうし。

それにしても計算所要時間20倍!!単なるクロックはそんなに違わないだろうし、並列化前の話だから・・・・・ああ、いま思いついた。gccは最適化かけてないや。まあ、それで10倍早くなったとしても2倍違う。この差はCPUバッファの大きさの差だと想像している。CPUバッファ>>メモリ>>>>>ディスクだから何とかしてCPUバッファに詰め込めると効率はかなり違うのだろう。大きさ全然違うし・・・・・・

(そう考えると最適化かけても見込める性能向上はせいぜい5倍程度か?)

結論としては「5年以上違うハードウエアでは多少の技術じゃ勝負ならん」って所か。それにしてもディスクIOはなぜこんなに違うのだろう?

2010.05.30追記
-O3で最適化してみたが計算時間34分、ディスクIO21秒なのでまあ、2割減。と言うことで計算所要時間は17倍。コンパイラ技術に大きな差はないと予想しているので向こうが.netで多少遅くなっていること、OSの動作は別コアで対応できるのでその分は向こうが有利であること(少なくともこっちはCPU時間を計っているのではない)を勘案すると、CPUバッファの威力は10から20倍ぐらいありそう。

ああ、あとFSBも多分10倍以上違うか。そっちが効いているのかも。いずれにせよ、結論は変わらないと言うことで。

気になるのは計算時間の削減と、ディスクIOの削減がほぼ同率と言うこと。IOバス側にボトルネックがないことになるが、そんなに速かったか?ファイルサイズは500M以上なので少なくともHDDのバッファに収まる量じゃない。メインメモリ側で吸収しているのだろうか。フラッシュかけてから時間測定した方が良いのかも。

2010.06.04追記
fflush()で出力してみたが26秒とあまり変わらない。おかしいとお思い調べてみたが、fflush()はユーザ空間からカーネル空間へ引き渡すだけみたいだから単に、メモリ上のコピー時間を計っているだけなのだろう。ディスクに吐き出させるコマンドも見つけたが、そもそもの目的がCPUとコンパイラの実力の時代変化を知りたかっただけなので、そこまでやる必要がない。と言うわけでこの件についてはクローズ。


実名と匿名と偽りの匿名性

元記事はここ 。

知らない人のためのずさんな人物?紹介
ちゃんと知りたい人は自分で調べてください。

ひろゆきさん:巨大掲示板「2ちゃんねる」創業者。中傷を放置したとかで裁判に負けつつも賠償金を払わないので有名。(どうもこのことは違法ではないらしい。)個人的には倫理的にどうかと思う人。あと「嘘を嘘と~」はけだし名言。
2ちゃんねる:知っている人は知っている、日本一大きな「便所の落書き」。載っている情報は玉石混淆。当然、石というか見るに堪えないモノの方が圧倒的に多い。とは言っても玉は玉。TVCMみたいに「みたくないスレ(仮想的な一枚の掲示板)を見させられる」ことはないので使う人を選ぶ、というか反映する。
勝間さん:ここ数年女性に人気のある(らしい)公認会計士。なぜ女性に公認会計士が人気があるのかは不明。最近の女性は金持ちで公認会計士が必要なのか?それとも公認会計士になりたいのか?政府が意見を聞きに呼ぶくらいだから多分、評判と実力はあっていない。(がちにやばい有名人を政府が呼ぶわけがない)

--インターネットと実名の話--
どうも勝間さんは2値論理しか理解したくないのか、実名と匿名しかないと思いこんでいる。今の(日本の)ネットはひろゆきさんが言うとおり、実際には"偽りの匿名"しかない。普通の人はプロバイダ(含む携帯電話会社)を経由してしかネットにアクセスできないから(そしてプロバイダは接続者の個人情報を把握している)プロバイダが押さえれば実名(住所も)はすぐにわかる。(そしてプロバイダにはそれを押さえる法的義務がある)だからこの文章の記述者の実名把握も技術的には容易で、実際には「匿名で書き込んでいる」という"偽りの安心感"しかない。この安心感は飲み屋で「課長の馬鹿」とか言ってるレベルと同じくらいの気安さで愚痴をこぼすのに向いている。問題はここは飲み屋でなくネットで、飲み屋の愚痴は音波の減衰とともに消え去るが、ネットに出した愚痴はデジタルデータのコピー容易性とP2P技術に代表される回収不能性で消え去ることがない。だからその特性を理解しないと警察署の前で「部長を殺してやる」なんて叫ぶのと同じ馬鹿が出てくるわけだ。そりゃお前警察に呼ばれるだろう、常識的に考えて。

この番組の放映後、勝間さんのブログが炎上したそうで、この参照先の別の場所でコメント(と言う名の非難中傷)がコレクションされていたが、まあ気持ち悪い。何で当事者でもないのに謝罪を要求するのか理解しがたい。こういうネット上のあからさまな過剰攻撃性を抑制するためにも勝間さんは実名を要求しているのだ、と推察するがはたしてこれはネットだからなのか?それとも匿名だからなのか?ネットが発達する前を考えよう。なにやら猟奇的な事件を起こした人の自宅には何百通もの非難中傷の封書が来たらしい。封書はただでは送れないからわざわざ自腹を切ってこの人たちは送ったわけだ。何とも暇で気の毒な人たちだと思う。もし封書がタダだったらどうだろう。想像するに桁が2つぐらいあがっていたと思う。だから過剰攻撃性はネットだから、と言うわけではないと思う。この社会にいる鬱屈した気の毒な人のはけ口が今ではネットに変わっただけだろう。では匿名だからだろうか。多分封書の大部分は匿名(or 偽名)で郵送されたと思う。だからその可能性はある。ではそのとき封書は実名で送ることのみ許可するように社会は求めたのか。そんなことはない。一部の気の毒な人たちのためにせっかく作り上げた社会インフラの機能を削減するような馬鹿なまねはしない。それと同じようにネットもそんな馬鹿なことはしてはならない。とはいえ技術の発達によって(より正確に言えば発達した技術の枠組みによって)"偽りの匿名性"で可能な限りインフラ機能を削減せずにトレーサビリティを確保している。

そして勝間さんには残念なことに世界的にネットは実名から匿名に移りつつある。(Facebookも実名公開を非推奨に変更した。利用者が変更していないのでまだ実名の人が圧倒的に多いけど)こういう世界的潮流を勝間さんは知らないのか、何でまだ実名にこだわってるんだろう。twitterなんて、はやっているかどうかわからないものを推奨した割には、明らかに3年は古い。あまりネットの知識はないのだろう。
潮流が変わった理由は明らかで、サイバー犯罪者があの手この手で(ソーシャルハッキングという。)リアルの情報を利用してネット上で犯罪を犯すからだ。そしてネット上の情報を利用してリアルで犯罪を犯す。もはや犯罪者にとってネットはリアルに金を稼ぐための場の一つでしかない。端的に言うと昔のウイルス作成者(ほぼ利用者)はただの愉快犯だったが今の作成者(or 利用者)はビジネスとしてこれを行っている。だから日本ではネットは「馬鹿と暇人のもの」かもしれないが世界的には「知的好奇心のある者と犯罪者のもの」になりつつある。そういう状況下でリアルの情報をさらすことを推奨するのは、犯罪の片棒を担ぐようなものだ。


--若者の起業編--
皆が指摘しているとおり、もうこの段階では議論がかみ合っていない。ホストがホストとして機能していないので新自由主義者と(おそらく本心でない)放任主義者の掛け合い漫才になっている。詳細は分析するだけ無駄。

追記:
ディベートというモノ
ネット上の評論家が時々書く「AならBでしょ、BならCでしょ、はい論破。」みたいなやつは「けんぱ、けんぱ、けんけんぱ。」という懐かしい子供の遊びにしか聞こえない。

基本的にディベートで相手の論理を言い負かすのは低レベルな手法で、普通は相手の論理を破綻させるものだ。相手に論理展開をさせてAとNOT-Aを同時に主張させるとなかなかに気持ちいい(若い頃は)。まあ、普通はその前に気がついて相手が主張をやめるけど。
だから相手を論破できたときは、いちいちこちらから論破したことを主張することはない。端から見て決着はついているし、相手も分かっていることだから。まあ、そっから先のヒステリーはロジックではないので適当にあしらうが吉。
そもそも「AならB」ってのは数学ならいざ知らず、普通の社会ではただの主張。(前もって双方合意しているなら別だけど。)自己主張して論破したと言い張るのは子供の遊び。

普天間問題と知恵

何ともとらえどころのない、総理大臣というものがよくわからなくなってくる、政治屋さんの発言 です。

まあ、好意的に解釈すれば「自国の防衛なんだから、そんなに地域エゴむき出しにしないで沖縄だけじゃなくて他の地域も負担してよ。」ってことなんだと思いますが、前にも書いた とおり基地を動かすのは地政学上難しいです。何か良いアイデアがあればいいのですが。

とはいえ、文句ばかり言っているのもなんなので、私案を少し。

といっても、沖縄の位置が変わるわけもありませんし、極東アジアの情勢が一朝一夕で変わるわけもありません。(なんか悪い方へ急速に傾いてますが。)基本原則の「我が国の国防のあり方」なんぞ大上段に振りかざしたところでこれまた一朝一夕には変わりませんので、目標を「沖縄の負担を少しでも軽減する」に置きましょう。ぐるっと回って一回転とかやらないよりゃマシです。

「負担」とはこの場合何があり得るでしょうか?経済的、環境的、心理的、いろいろあると思います。糞貧乏なこの国の財政状況の中、費用対効果で最も高いと思われるのが「心理的負担」の軽減です。(まあ、私がそう考えるだけかもしれませんが。)とはいえ、催眠術をかけて「気にしない」ようにしても実質は何も変わりませんので実効性のあるものにしなければいけません。

何が良いでしょうか?

沖縄の米軍基地関連で時々ニュースになるのは米兵の犯罪です。なかなか引き渡さないどころか本国に帰ったりもします。あれは米国内での受けは良いかもしれませんが、少なくともこちらはいい気はしないでしょう。中長期的に見て両国間にいい影響を及ぼすとも思えません。そういうわけで以下のような主張をします。

「日本国内で犯罪をおかしたと思われる被疑者について、米軍基地への引き渡し要求に対し2時間以内に所在の確認報告、以降の米軍の責任における拘束、24時間以内の引き渡しを行うものとする。」

引き渡し要求などは一応国家間なので、地域警察から国家に要請、国家からの要求伝達という流れになると思います。法的には日米地位協定の変更が必要かもしれませんが、変更までの間日米政府で合意すれば、文民統制の観点から米軍が表立って反抗するわけにはいかないと思います。(だから要求に対する米国内の反発はきついでしょう。)

これであれば予算は不要。米国相手の交渉能力(こんなの官僚に細かいところは任せりゃいい。当然手綱は握っておく必要はありますが)と政治家の強固な意志が必要です。米軍基地の大部分が沖縄にある現状では心理的負担の減少に役立つでしょう。

要するに負担の軽減にはいろいろあると言うことです。どうも政治家の皆様は「橋を造った」、「道路を通した」、「基地を動かした」みたいな目に見えるわかりやすいものに動きがちですが、本当に沖縄の方々と「思い」を共有し、現実を見つめて方策を模索するならまだまだ方法はあると思います。知恵とはこういうときに使うものであるし、知恵につながらない知識はただの雑学です。飲み屋で女の子に感心してもらうときに使えばよろしい。

とはいえ、さっきのは主張で、落としどころとしては、
1)軍人:即時監視、1時間以内の拘束、24時間以内の引き渡し
2)軍人以外の成年:2時間以内の身柄確保、48時間以内の引き渡し
3)軍人以外の未成年:2時間以内の身柄確保、72時間以内の引き渡し
ぐらいが妥当でしょうか。当然引き渡しまでは全て米軍の責任です。
未成年の72時間の猶予は本国から関係者を移送して面会時間の確保の猶予を与えるためです。このくらいはしないといざというとき米国世論の反発を抑えることができずに、実効性が低い約束になると思います。