2004-04-01 [長年日記]

新年度

今日から新年度なわけですが、だからといってどうという訳ではありません。会社にくるときに新人らしき人がちらほら歩いているのは見かけましたが、会社的には配属はまだ先なので変わった様子もありません。

しっかし、うちのグループにもかわいい(ここ重要)女の子が配属されないかな(ぉ。

Javaの性能

雨谷の日和のJavaの性能からの一連の検証なのだけれど、個人的にはJavaの性能には(Cの性能にも)ほとんど興味はない。

そもそもの言語のコンセプトとして、Javaは速度を求めていない。もちろん高速化の努力がなされていることは認めるし、実際に速くなってきているであろうことはわかっている。しかしそれは第一義ではない。

"write once,run anywhere."の言葉が示すようにJavaの言語コンセプトはその可搬性にある。

それ以外にも、オブジェクト指向な言語仕様や豊富なエラー処理などといった、「Javaの便利な」機能てんこ盛りで、その上で

Cには,プログラマは,自分が何をしようとしているかを知っているという基本哲学は残されている。

[プログラミング言語C第2版より引用]

というC言語に速度で勝とうというのは、そりゃあ欲張りすぎだと思う。

結局のところ、速度をあまり求めない場合は機能が豊富な言語を選択すればいいし、速度を求める場合にはそれなりの速度の言語を選択する必要がある。

世の中には、「Javaは遅い」言いたいだけちゃうんかという人も確かにいて、そういう人を黙らすのためにこういう比較は重要だとは思う。

うーむ。われながらまとまっていないが、よしとしよう。

お名前 : コメント :


2004-04-02 [長年日記]

理想と幻想

まず。意味のありそうな題名をつけるのは罪悪だと思います。あまり意味はありません。ごめんなさい。

それが分からないとそもそも「速度をあまり求めない場合は機能が豊富な言語を選択すればいいし、速度を求める場合にはそれなりの速度の言語を選択する必要がある」という判断をするための手掛かりが無いような気がしているのですが。

[雨谷の日和より引用]

それはそのとおりだと思います。ただ、私の中の基準は明確で、リッチな環境が使えるならば(そしてその環境に習熟しているならば)、その環境に頼るのが正しいあり方だと思っています。

私ごときの考えるようなことは大概先達が述べているようなので引用します。

Javaは遅い

・大丈夫。Javaがどんなに遅かったとしてもあなたの作るプログラムよりかは十分に速いし、信用できるから。

[真・コンピュータ用語辞典より引用]

今日は酔っ払っているので、ここまで。

お名前 : コメント :


2004-04-03 [長年日記]

補足

遅くなりましたが、補足しておきたいと思います。

速度を求める場合というのは、

もちろん、依然として速度を要求するアプリケーションもあるだろう。 コンピュータを使って解きたいと思う問題のいくつかは、 コンピュータ自身によって作られる。例えば、コンピュータで 生成されたビデオイメージの処理は、生成側のコンピュータの 速度に追い付いていなければならないだろう。 さらに、いくらマシンサイクルがあっても本質的にそれを喰い潰してしまう 類の処理というのがある。イメージレンダリング、暗号、シミュレーションといったものだ。

[百年の言語より引用]

ここで示されているように、二つに大別することができると思われます。その二つとは、

  • 時間的にクリティカルな処理
  • 速ければ速いほどいい処理

です。ということは、これ以外のプログラム――つまりこの世に存在するほとんどのプログラムは速度を必要としていません。少なくとも、ある一定の時間内で終わりさえすればいいのです。そして、この基準は、多分言語を選択しなければならないほど厳しくありません。

日付

日記に書いた日の日付をつけていないのは仕様です。

犬神家の一族

そういえば飲みながら稲垣吾郎の金田一の活躍ぶりを見たのだよ。私の中で、金田一役といえば古谷一行なんだけども、そのイメージはやはり「悪魔が来たりて笛を吹く」あたりなんだろうと思う。

というか、そんなことはどうでもよくて、やっと豊悦(?)のあとを継ぐ金田一役が出てきて、ほっとしたのだよ。

お名前 : コメント :


2004-04-04 [長年日記]

今日のお買い物

今日は本を探しに神保町に。すごいぜ、EZナビウォーク(迷った)。ということで今日のお買い物。

  • Linuxから目覚めるぼくらのゲームボーイ!
  • テンピュールまくら

これで今日からの安眠は約束されたっぽい。

飲み

川崎で飲み。手羽先がおいしかった。

お名前 : コメント :


2004-04-05 [長年日記]

そして

帰ってきてから一人で部屋飲み。たまご豆腐はうまい。納豆もうまい。ちなみにお酒は「黒霧島」。これまたうまい。

お名前 : コメント :


2004-04-07 [長年日記]

昨日の検索ワード

「モンスターハンター、イャンクック」

検索エンジンがMSNなのはあれとして、それで検索したくなる気持ちは良くわかる。奴は強いよね。

モンスターハンター

久しぶりにオンライン。初めて複数人でやりました。ということで☆2の緊急クエスト、ゲリョス退治をクリア。晴れてハンターランク5になりました。

お名前 : コメント :


2004-04-08 [長年日記]

仕事場での席を移動したので、日記を書きづらい。<その前に仕事中に書くなよ俺。

情報処理技術者試験

やっと受験票が到着。もう試験まで二週間もない。前回のネットワークは受験票が届いてから勉強し始めたのだけど、それでも一ヶ月前ぐらいだったので何とかなったのだけど、今回はさすがにつらそう。

今回の受験地は慶応義塾大学三田校舎、最寄駅は田町駅でそれほど遠くないので一応受けるだけは受けようかな。

読書記録

「ジョゼと虎と魚たち」挫折。今の心理状況ではとても最後まで読めそうにありません。

ちなみに表題作までいきついてません。

お名前 : コメント :


2004-04-09 [長年日記]

医学都市伝説の、アルカイダ掃討作戦を読んでいて、"村の神社で守り神になってもらいますんや。"というところで笑ってしまった。夢の話とはいえ、実に日本的な気質をあらわしていると思う。

アルカイダということだから当然イスラム教徒なのだろうけど、それを守り神として神社に祀る、つまり神道の神様にしてしまうわけだ。神の元に導かれるはずが自分が神になってしまっては、テロリストの方としてもたまったものではないだろう。

ただ、笑ってしまったというのは、そういう不条理さだけではなくて実際にあってもおかしくはないと思うからである。

さすがに、この現代社会において(そういう意味では、私の地元も相当田舎ではあるけど、こういう感覚は十分に現代的であった)、そういうのはないだろうという気もするのだけど、もしかすると山奥の山村にいくとこういうこともありえるのかも知れないと思ってしまう。

だって、東京のど真ん中で「首塚には背中を向けて座ってはいけない」なんて話があるぐらいだからねぇ。

お名前 : コメント :


2004-04-11 [長年日記]

モンスターハンター

MSNサーチによると、モンスターハンターが一番の人気コンテンツらしいので書いておこう。

オンラインはハンターランク6になりました。リオレイアは強すぎです。

オフラインはリオレウスをばすっと退治して、そのあとずばっと捕獲したので、緊急クエストのモノブロス討伐が出現しました。

お名前 : コメント :


2004-04-12 [長年日記]

メモリ動的確保

Cの動的メモリ確保が遅いのかも」ということなので、ちょっと調べてみました。

まず、malloc/freeがどのように実装されているかというと、詳細は説明するのが面倒なので「プログラミング言語C第二版」の記憶割り当てあたりを参照してもらうとして、簡単に言うと二つの機能により実現されています。

  • OSからの動的メモリ確保
  • リンクによる空きリストの管理

ようはそこそこ面倒なことをしているわけです。

次に、gccの可変長配列の実装はどうなっているかということですが、これはallocaに依存しているようです。というのは、

同一の関数の中で可変長配列とallocaの両方を使うと、 可変長配列の領域が解放されるときに、 その可変長配列が割り当てられたあとにallocaによって割り当てられた領域も すべて解放されることになります

[C言語ファミリに対する拡張機能より引用]

というところからの推測です。そして、allocaの実装がどうなっているかというと、多くの場合スタック上にメモリを確保していると思われます。

こうすることにより、関数を抜けたときに領域が開放されるという仕様がより自然に実現できます。

そして、スタックポインタの操作だけですむgccの可変長配列の方がmallocによるメモリの動的確保より速いのは自明でしょう。

追記

結局のところ、ほらやっぱりC言語が遅い場合もあるんじゃないかと言われればそのとおりなのですが、じゃあ個別にmalloc/freeをすると間に合わない場合にどうするかというと、はじめに大きな領域を確保してそこから切り売りする俺malloc/俺freeを実装するわけです*1

もちろん、可変長配列が言語サポートされていれば嬉しいんですが、それはC99対応のコンパイラが普及するの(か?)を待たなくちゃあいけないですね。

*1 いや、gccのみで実装するなら可変長配列でもいいんですけどね。

今日の晩御飯

久しぶりですが、毎日とはいわないまでもそこそこ真面目にやってますよ?

きょうは、レバニラ炒め、ご飯、味噌汁、納豆。

お名前 : コメント :


2004-04-13 [長年日記]

モンスターハンター

シングルプレイで、緊急クエストのモノブロス討伐をクリア。あとは☆4つの草食獣の卵クエストを残すのみ。これが一番難しいような気がするぜ。

今日のキーワード

「イャンクック、捕獲」先にランポスを退治しておきましょう。

モンスターハンター

「草食獣の卵」クエストをクリア。ひゃーほい。

お名前 : コメント :


2004-04-14 [長年日記]

コーディング

(いろいろ書いてあったけど削除)

今コーディングしている部分は、もともとベースとなる部分があって、ほぼ機械的な置換で済んでしまうようなものなのだけれど、これを改修する誘惑と現在進行形で闘っている。

まず改修したい理由としては、単純にプログラムがへぼいというのと、ほぼ置換だけで済むはずとはいえ一度は全体に目を通さないといけないという二点で、改修をためらう理由はへぼいとはいえ意味がわからないほどひどくはないというのとそれなりに検証されているソースだからという二点である。

気持ち的には改修の方に傾いているのだけど、もう一つぐらい理由がほしいよなぁ。

結局

置換をしたのみで終了。面倒くせーもの(投げやり)。

お名前 : コメント :


2004-04-15 [長年日記]

世界が違って見える

コンタクトをするのを忘れた。というか眼鏡で仕事場に来るつもりだったのだけどそれも忘れてしまった。<ようするに見えてないんじゃないか。

モンスターハンター

火山採掘ツアー実施中。現在の成果は、さびた塊(大剣)×2とさびた塊(ランス)。片手剣が出ない。

今日の検索キーワード

「malloc、遅い」雨窓さん経由で。いやね、mallocを遅いというのは、printfが遅いというようなもので。

つまりそれは、意味のある遅さなのです。

お名前 : コメント :


2004-04-16 [長年日記]

飲み会

今日はこれから飲み会です。頑張ります(なにをだ?)。

お名前 : コメント :


2004-04-26 [長年日記]

今日のキーワード

「さびた塊、出ない」がんばりましょう。

「モンスターハンター、草食獣の卵」ごめんなさい、草食竜が正しいです。

採血

血を抜かれる。のはまあいいんだが、会社の診療所はいついかなる場合でも診察の前に(それがただ採血するだけであろうと)、必ず体重を量らされる。んで、前回十二月に計ったときより4kg減少していた。確かにベルトの穴1.5個分はやせたような気がするが、びっくりだ。目標はあと2kgらしい。だいぶ無理っぽい。

あと、採血中に針が刺さるのを穴が空くぐらい見つめていたら、珍しいといわれてしまった。いやさ、見てなくていきなり刺さる方が嫌じゃないですか?

お名前 : コメント :