ブックマーク / www.dd.iij4u.or.jp/~okuyamak (4)

  • Swapping variable using XOR

    XOR で変数を交換する 『xor を使うと temporary 領域なしで値を交換できる話』だと思った人、 残念でした。そういう話ではありません。 話は逆です。『そげなことは無駄だよ』という話。 当にちゃんと交換できるの? 次の関数は pointer a と pointer b が指している先の値を交換するものです。 この関数は常に正しいかどうか、わかりますか? void swap( int *a, int *b ) { *a ^= *b; *b ^= *a; *a ^= *b; } 実は正しくありません。 a や b が指している先が当に int とは限らない。 Cにおいてはポインターに限らず、 ほとんどあらゆるものが自動的にキャストされます。 キャストした結果が int と一致するとは限りません。 いらんところまで交換されてはたまりません。

    yupo5656
    yupo5656 2006/06/06
    だめよ、という話
  • Project DOUBT ご紹介と参加者の募集

    okuyamak@dd.iij4u.or.jp http://developer.osdl.jp/projects/doubt/ 2004 年 11 月 19 日 /Slide 1 Project DOUBT ご紹介と参加者の募集 Project DOUBT First Speaker 奥山 健一 2004 年 11 月 19 日 okuyamak@dd.iij4u.or.jp http://developer.osdl.jp/projects/doubt/ 2004 年 11 月 19 日 /Slide 2 Project DOUBT's URL ● 何は無くとも URL を… http://developer.osdl.jp/projects/doubt/ okuyamak@dd.iij4u.or.jp http://developer.osdl.jp/projects/doubt/

    yupo5656
    yupo5656 2006/03/21
    Project DOUBT
  • Server File Cache → Storage

    4. Server File Cache → Storage 図4. nfs request flow 章では図4の赤い部分、 Server File Cache から Storage までの経路に焦点を当てる。 ここは最後のパス、 Storage と IO しなくてはいけない 場合に必ず通るパスである。 図上では Server File Cache, Local File System, Storage は 3つの異なるユニットであるかのように描画しているが、 実際にはこの3ユニットの性能と特性は互いに影響しあって 全体で1つの性能を引き出す。 このため、この3つのユニットはバラバラに評価するわけには行かない。 普通に言う場合は、 この3つのユニットの性能を逢わせて Local File System の性能 と呼ぶ。 広義の nfs では、 Storage の部分は他の物にもなりうる

    yupo5656
    yupo5656 2005/06/24
    ext3が駄目だという話?
  • ネットワーク・ファイル・システム チューニング

    Introduction 複数の計算機が何らかの形で通信できるようにする、 と言うテーマはそのままそれらの計算機間でデータを転送する、 という問題を意味する。 計算機間の通信ができるようになるとすぐ出てくる問題が どのようなデータを、どのような単位で転送するのか、 という問いだった。 これに対する回答の1つが ファイル を 丸ごと 転送する FTP のような方針だった。 FTP は A という計算機が持つファイルのコピー(レプリカ)を B という計算機に作り上げる能力を提供する。 しかしこれでは一旦レプリカを作った後、 しばらくしてから B が持っているレプリカが、 今もなお A が持っているファイルと同じ内容を保持しているのか、 確認する術がない。 この問題を解決するもっとも安易な手段は 毎回レプリカを取り直す というものだ。 通信速度が十分早く安くなれば、 この方法を用いても特に問題は

    yupo5656
    yupo5656 2005/06/24
  • 1