2006年06月の日記。

2006年06月01日

haldaemon

再起動しても起動しません。sunrpc.ko以外にもなにか条件が?

PS3の価格

価格だけがゲーム機の普及率の決定的差ではないことを教えてやろう。

2000-03-04SCPH-1000039,800円
2001-04-18SCPH-30000オープンプライス
2001-06-08SCPH-3000038,800円
2001-06-08SCPH-3000037,800円
2001-06-29SCPH-3000035,000円
2001-11-29SCPH-3000029,800円
2002-05-16SCPH-30000オープンプライス
2002-08-01SCPH-3700030,000円
2003-05-15SCPH-5000025,800円
2003-11-13SCPH-50000 NB19,800円

たった4年でこれだけ価格が下がるわけです。2006年の今、SCPH-70000系も値段があまり変わらないことを考えると、今は下げないだけでもっと下げられるのでしょう。

2004年あたりにPS2を購入するような人の価値観ではPS3の予想価格76,800円という値段は高く感じられます。しかし2000年に飛びついたような人なら気にせず買います。DS Liteが24,800円で売れるのですからおおむね大丈夫です。

また7万円も出せない、というのなら4年待てば半額になります。

2006年06月02日

AMDがATIを買収するかもしれない

The Inquirerの記事ですが、これは「買収するかもしれない」と解釈するのではなくて「買収しますように」と解釈するのでしょうか。

AMDがいくら好調とはいえ、Fabの建設などの投資が多いので大きな買いものはできないと思います。また、ATIのようなグラフィックコアを買うメリットもありません。チップセット目的であればATIよりもNVIDIAのほうがAMD寄りです。

2006年06月04日

ボート

中島公園でボート。

後で食べたソフトクリームがなかなか。

スパークリングコーヒー

ネスレのアレ。

ダメ。一口とか、ちょっと飲むのはOKというか、むしろかなりおいしい気がしますが、量に負けました。

後味がすっぱくて280ml飲むのはかんべんしてください。

2006年06月05日

Conroeの性能

さすがPentium !!!系。メモリ周りの弱点は4MBという大容量のL2キャッシュとプリフェッチでカバー。2WAY程度の構成ならAthlon 64X2やOpteronより速いはず。

次に買うマシンはIntel系になりそう。

2006年06月06日

AMDがATIを買収すると確信

今後のCPU、2010年辺りまでを視野に入れるとGPU機能はCPUに取り込まれるだろう、という大胆な予測。

あながち大胆ともいえないというか、外付けだったFPUはCPUに取り込まれましたし、MMUも今ではCPU内蔵というのがほとんどです。Pentiumの頃には外付けのパイプラインバーストSRAMをL2キャッシュとして使っていました。これもまた、今ではCPU内蔵。なぜなら、これらの機能もまた特別な存在だからです。言われてみればイケてるね、じゃなくて、言われてみれば今のPCにとってGPU機能は重要です。ですからこれを取り込もうというのは不自然ではありません。

ただ、買ってきてまでそれを取り込むかというと割りにあわない気がします。Intelはずいぶん前にChips&Tech.を買収しましたが、CPUに統合するのではなくノースブリッジのグラフィクス機能として利用しています。CPU内部には取り込みませんでした。

Intelが買収したからAMDも買収するだろう、という見方には「そういう考えもあるかな」とは思いますが同じことをするには企業哲学が違いすぎます。

Intelはプラットフォーム戦略を打ち出すようになりましたが、もともと386をつくり出した辺りからサードパーティを追い出してCPUからチップセット、マザーボードまで全部Intelで作り上げようとしています。全部をIntel製にしようとするのですからIntel製グラフィクスを手に入れることはIntelの企業哲学に反しません。

AMDはPCに関してはCPUだけに徹していて、チップセットなどのコンポーネントはVIAやSiS、そしてNVIDIAなど他社に任せる方針です。そこにきてグラフィクスだけは統合というのは協力関係にある企業との摩擦を生みます。そして、他社とうまくやっていくというAMDの企業哲学にも反します。

それでもなお、グラフィクス部門が必要だというのならサーバ用途でしょう。そうなると確かにRADEON 7500やES1000を持つATIは魅力的です。でもそれだけです。どうせ買うならXGIのほうがお手ごろ価格のような気がします。

今AMDがやりたいのは、HyperTransportでCPUとGPUを直結させることではないかと思います。

GPUはPCにとって確かに重要な機能ですが、CPUに統合するほどに重要かというとIntel CPUにおけるメモリコントローラほどでしかありません。

AMD Efficeon

Efficeonも作るとなればFabは拡張したくなりますね。それともFabを拡張したからEfficeonも作る余裕ができたのか。

ネスレの夏仕様アイスコーヒー

日曜に飲んだスパークリングコーヒーからスパークリング成分を抜いたような味がしてしまって受け付けません。

メモリの読み出し速度が秒間16MBというPS3

驚きの事実。

Cellのローカルメモリからの読み出し速度はたったの16MB/秒。ハードディスク並です。

SONYからは「ローカルメモリから読み出してはいけない。RSX(GPU)を利用してメインメモリに読み書きするように」という素敵な忠告が。

いやいや、SATAのハードディスクだと3Gbit/secですから300MB/秒読めるはず。Ultra 160なSCSIで理論値160MB/秒、実際30MB/秒は楽勝なので・・・一桁間違えたと思いましたが、ハードディスク並といえばハードディスク並かも。

2006年06月08日

pathlist cmdlist

内部コマンドを実行できるようにしたおかげでpathlistの立場が無くなっています。

というような~/.dfx/cmdを用意しておけばディレクトリ移動できてしまうのです。

このため、pathlistを消してしまうかどうか悩んでいますがどうしたものか。cmdlistならリストからリストが呼べるのに対し、pathlistだとこのようなカスケーディングもできないのも難点。

quit

コマンド入力ボックスにquitと入力してみたところ、子ウィンドウがあるのでquitできません。子ウィンドウとはコマンド入力ボックス。え、えーと。

emacsのスクロール

C-x 3して、左側にソース、右側にアセンブルリストを表示させているのですがデフォルトだとスクロール単位が半画面と素敵な状態なのでソースに対応したアセンブルコードを、近い位置に表示させる、ということが困難でたまりません。たまらないというか仕事は溜るいっぽうです。

(setq scroll-conservatively 1 scroll-step 1 scroll-margin 0)とかして回避。

atomic_set()

lockプリフィクス無しのmov命令になっていますが、どうして付けなくてよいのでしたっけ。atomic_inc()などとの競争は想定の範囲外?

2006年06月09日

X11R7のmake

FIVA用にX11R7を組み立てようと思ってダウンロード。

で、いろいろできあがったのですが、これをFIVAに持っていくにはどうしたらいいのか判らなくなって中断。FIVAの方はまだFedora Core4なのでX11R6なのでディレクトリ構成が違うとか、xdmで設定するPATHとか/usr/binではなくて/usr/X11R7/binになるようにしておきたいとか。

他にも肝心のcyrix_drv.oが作られないという重大な問題もあったので破棄。

2006年06月10日

X11の再構築

X11R7は組み立てかたが判らなかったのでFedora Core 4のSRPMから作ることに。

Fedora Core 4のX11はi386のパッケージですが、i586にするだけでも速くなりそう。

というわけでrpmbuild --rebuild --target i586するとhost-i386.defがないと言われて停止。

アーキテクチャに併せてhost-$arch.defを作るのですが、host.defには#include "host-i386.def"と書かれているのでどうしようもないとか言う。

とりあえずSRPMをインストールして、host-$arch.defを作る所をアーキテクチャにかかわらずhost-i386.defを作るようにして回避。本当はx86系ならhost-i386.defというようにしないといけないのですが、動けば正義。

最適化オプションも指定したかったので、optflagsを指定するのですが.rpmmacrosに書いてしまって数時間無駄に過ごしてしまいました。__guardが未解決、というエラーになってしまい全然原因が判らないとか言う。optflagsはrpmmacrosではなくてrpmrcに書くものらしいです。

rpmmacrosとrpmrcの使いわけが判りませんが、そういうものということで。

2006年06月12日

皆集萌え

携帯メールアドレスなる、指定されたドメインのメールアドレスを持っていないと「正会員」としては登録できなくて「プチ会員」しか選択できないとは。

携帯ディバイド?

ローカルディレクトリブラウザ(仮)とXIM

以前は起動していたuimが起動しなくなりました。X11を入れ替えたからなのか、ソレ以前からなのかさっぱり判らないと言う。

もともとrxvtとemacs以外に日本語入力ができていなかったので困るものでもないところですが、今確認したらデスクトップのFedora Core 5だとurxvtですら日本語入力ができていないということが発覚。

自分ビルドだと設定方法が判らないところもあるのでyum installで追加。

system-switch-imを起動した所、入力メソッドがインストールされていないシステムです、とか言われて終了。んがー。

2006年06月13日

ローカルディレクトリブラウザ(仮)とXIM

帰宅途中、XのリソースにXIMの設定が必要だということを思い出しました。眠いので明日。

2006年06月14日

ローカルディレクトリブラウザ(仮)とXIM

.Xresourcesに

を追加。

すると「Warning: input method doesn't support my input style」と言われて終了。preeditTypeをrootにするとハングアップ。

これはinput method、つまりxim-uimがOverTheSpotをサポートしていないと言うことなのでしょうか。rxvtでは使えているのに。

2006年06月15日

gcc 4.0 vs gcc 4.1

FIVAで動かすバイナリとして、最適化オプションはどのように指定するのがよいか、ということで実測。

簡単なベンチマークを行ってみた所、gcc 4.1がgcc 4.0より10%ほど高速なコードを生成することが判明。最適化オプションをいろいろ試すよりも、コンパイラをさくっとアップデートした方がよさそうです。

gcc4.1はcvsで取得したRed Hatブランチの物。

コンパイラ(gcc)のバージョン

gcc 3.2.3(Fedora Core 4/gcc-compat)
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --enable-languages=c,c++,f77 --disable-libgcj --host=i386-redhat-linux
Thread model: posix
gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-47.fc4)
gcc 4.0.2(Fedora Core 4)
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,java,f95,ada --enable-java-awt=gtk --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --host=i386-redhat-linux
Thread model: posix
gcc version 4.0.2 20051125 (Red Hat 4.0.2-8)
gcc 4.1.1(リポジトリから取得)
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ./configure --enable-languages=c,c++ --program-suffix=41
Thread model: posix
gcc version 4.1.1 20060512 (Red Hat 4.1.0-16)

実行したコード

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void init_table(int *array, int cx, int cy);

int loop_i386(int *, int, int);
int loop_i486(int *, int, int);
int loop_i586(int *, int, int);

struct loop_item{
  const char *name;
  int (*test)(int *, int, int);
};

struct loop_item test_set[] = {
  {"386", loop_i386},
  {"486", loop_i486},
  {"586", loop_i586},
};
unsigned long long int rdtsc(void);
int main(void)
{
  int *array;
  int cx;
  int cy;
  int n, m;
  unsigned long long int s, e;

  cx = 512;
  cy = 512;
  array = malloc(sizeof(int) * (cx + cy));

  for(n = 0; n < 3; n++){
    init_table(array, cx, cy);
    sleep(1);
    s = rdtsc();
    (*test_set[n].test)(array, cx, cy);
    e = rdtsc();
    printf("%s:%llu.\n", test_set[n].name, e - s);
  }
}

unsigned long long int rdtsc(void)
{
  unsigned long long int tsc;
  __asm(
    "rdtsc"
    : "=r" (tsc) : : "memory");
  return tsc;
}

void init_table(int *array, int cx, int cy)
{
  int n;
  int i;

  memset(array, 0, sizeof(int) * (cx + cy));
  i = 3;
  for(n = 0; n < cx; ++n){
    array[n] = i;
    i = n * 7 + 5;
  }
  i = 7;
  for(n = 0; n < cy; ++n){
    array[n + cx] = i;
    i = n * 11 + 13;
  }
}
int loop_arch(int *array, int cx, int cy)
{
  int x;
  int y;
  int i, j;

  for(y = 0; y < cy; y++){
    for(x = 0; x < cx; x++){
      i = array[x];
      j = array[cx];
      if(i == 0 || j ==0){
        continue;
      }
      while(i != j){
        if(i > j) {
          i -= j;
        } else {
          j -= i;
        }
      }
    }
  } 
  return 0;
}

実行結果

marchgcc 3.2gcc 4.0gcc 4.1
386635346405634901946564009972
486568113669632720538562701303
586569035644635016930563440296

cxとcyは512にして実行しました。

Fedora Core 5がインストールできる方法が判り次第アップデートしたい。

また、微妙に-march=i486のほうが速いような雰囲気。

X11を入れ換えた所、若干動作がきびきびしているのはi586としたからではなくて、gcc 4.1を使ったからかも。

gcc 4.1のスコアはgcc 3.2と同等です。gccは4.1で3.2に追い付いたといえるのではないでしょうか。

しまった

-      j = array[cx];
+      j = array[cx + y];

じゃありませんか。はっはっは。

まあいいや、とか思いましたがとりあえず直してみたらgcc 4.0とgcc 4.1の差が縮まりました。強烈に長いループがあるとgcc 4.0有利の模様。ふつーはそこまで長いループは無いような気がしますが。

4.0は実際のコードには弱くてもベンチマークには強そうですね。

2006年06月17日

haldが死ぬ理由

PCカードスロットにP-inを差すと、もしくは差してあるとSEGVで終了することが判明。

15:10:37.950 [I] osspec.c:243: total_read=247 buf='add@/devices/pci0000:00/0000:00:01.0/0.0'
15:10:38.274 [I] osspec.c:243: total_read=191 buf='remove@/class/tty/ttyS1'
15:10:38.342 [I] osspec.c:243: total_read=190 buf='add@/class/tty/ttyS1'
15:10:38.419 [I] osspec.c:154: SEQNUM=342, TIMESTAMP=1150438238, ACTION=add, SUBSYS=pcmcia, SYSFSPATH=/devices/pci0000:00/0000:00:01.0/0.0, DEVNAME=, IFINDEX=-1
15:10:38.421 [I] physdev.c:1019: phys_add: subsys=pcmcia sysfs_path=/sys/devices/pci0000:00/0000:00:01.0/0.0, parent=0x0808f6e8
no pcmcia driver in /proc/devices
15:10:38.709 [I] physdev.c:944: Add callouts completed udi=/org/freedesktop/Hal/devices/pcmcia__1__1
15:10:38.710 [I] hald.c:90: Added device to GDL; udi=/org/freedesktop/Hal/devices/pcmcia__1__1
15:10:38.850 [I] osspec.c:154: SEQNUM=343, TIMESTAMP=1150438238, ACTION=remove, SUBSYS=tty, SYSFSPATH=/class/tty/ttyS1, DEVNAME=/dev/ttyS1, IFINDEX=-1
15:10:38.851 [I] classdev.c:938: class_rem: subsys=tty sysfs_path=/sys/class/tty/ttyS1
15:10:38.852 [W] classdev.c:942: Error removing device
15:10:39.800 [I] osspec.c:154: SEQNUM=344, TIMESTAMP=1150438239, ACTION=add, SUBSYS=tty, SYSFSPATH=/class/tty/ttyS1, DEVNAME=/dev/ttyS1, IFINDEX=-1
15:10:39.802 [I] classdev.c:884: class_add: subsys=tty sysfs_path=/sys/class/tty/ttyS1 dev=/dev/ttyS1 physdev=0x0808d420
Segmentation fault

なんでやねん。

yum upgrade

とりあえず、FIVAもFedora Core 4からFedora Core 5にupgrade。

2006年06月19日

/etc/X11/xkbはどこにいった?

/usr/share/X11/xkbに。

/usr/share/X11/xkb/symbols/jpを書き換えてもキーマップが変更されないような。

ここで変更できないとxmodmapするまでCapsLockがControlにならないので不便。

PATH

xdm経由だとまたPATHが設定されていなくて/usr/local/binがリストアップされていないと言う。

おかげでfluxboxが起動しなくてtwmを見る羽目に。twmだとウィンドウを作るたびにマウスをクリックしないといけないのがイヤ。

$HOME/binにもPATHが通らなくなっているのですが、これはいったいどうなっているのでしょう。xdmだから?

Fedora Core 5とhaldとfstab-sync

Fedora Core 5にするとhaldが落ちなくなったように見えますが、fstab-syncが無くなったのでUSBメモリをどーのこーの、という点では意味が無いようです。

Fedora Core 4
Fedora Core 4 on FIVA
Fedora Core 5

2006年06月21日

Opera 9

Ctrl+Nの挙動が変わってて驚愕。

皆集萌えがそれなりに見えるようになってる!

メガネでイメチェン

ウルトラセブンは変わりすぎだと思います。

2006年06月22日

村上ファンドに投資して1,500万円の利益

やけに噛みついている人がいますが、バンカーが投資して何が悪いのでしょうか。というか、バンカーたるもの、資金運用してナンボというイメージです。自分の資産も運用できない人が他人の資産を運用するなんてとんでもない。

投資したのは1999年とのことです。もしそうなら、1,000万円が7年で2,450万円ということになります。高々年利14%でしかありません。利息制限法での利率、年15%で他人に貸し付けている方がよっぽど儲かります。消費者金融の利息は25%を越えるようなこともありますから年14%というのは非常にリーズナブル、良心的な利益です。

2006年06月23日

レジスタ渡し

パラメータをレジスタで渡していると、スタックを見てもパラメータが何なのか判りにくくて厄介です。-mparm=3でコンパイルしたカーネルを見ている訳ですがかなり厳しい。

x86だと途中でスタックに格納されるのでまだいいものの、PA-RISCとかレジスタ多めのアーキテクチャだと泣けるかもしれません。

スパークリングカフェ

勤務先の自販機に恐ろしいものが!!!1

2006年06月24日

宗左近氏死去

「ゆんゆん」の人。

ローカルディレクトリブラウザ(仮)

$Pなどの展開時、空白を含んだパス名で大変なことになるので修正。

というか、空白などの文字をエスケープした上で展開するようにしました。エスケープした後ですぐにデエスケープするのが無駄な気もするのですが。やるかやらないかの判断を入れるのも面倒なのでここはトレードオフということに。

2006年06月26日

スパークリングカフェ

勤務先の自販機に恐ろしいものが!!!1

売り切れランプが点灯している!!

2006年06月27日

mixiでチェーンメール的書き込み

mixiにバグがあって、意図せず日記を登録してしまうという不具合があったそうです。

このバグは6月18日深夜に公表され、発生から1時間で対応したという話です。

このようなバグがあったこと、そして修正したことを隠していたためにユーザはこのようなバグがあったことなど知りませんでした。ですから、「mixiにバグが見付かったから気を付けてね!」という報告はユーザの善意によって拡散していった訳です。

ITmedia(http://www.itmedia.co.jp/news/articles/0606/23/news077.html)では「なぜ広まったか」として口コミや伝えたくなる心理などを分析しているようですが、そもそもmixiが19日の時点で情報公開してさえいれば「こんなバグがあるよ」とネタにしても「6/19のあの件ね」で終わってしまいますから、広まらなかったものです。

VAIO type UX vs W-ZERO3

type UXのスライド式キーボードに付いて、W-ZERO3のパクリだという人がいますが、一言言わせていただきたい。

OQOのこと、忘れないでください。

2006年06月28日

分岐

以前、Pentium MとAthlon XPで分岐予測について確認したのですが、Athlon 64を買ったのですからせっかくだから試してみました。

PC/分岐setejejnz
PCG-SRX386,200,687.6696,623,407.72105,402,026.60
VGN-T90PS69,952,356.5076,540,601.6379,913,028.94
Athlon XP99,210,955.84153,748,700.80150,077,299.70
Athlon 6491,991,449104,056,848110,889,880

Athlon XPと比較すると劇的に改善されています。それでもまだPentium Mには敵わない模様。seteとje/jnzとで差がほとんど付いていないということは分岐予測はほとんど外さないということでしょう。素晴らしい。

2006年06月30日

グレバ

グレバというソフトウェアダウンロードサイトができた(作る?)そうで、アナウンスメールをいただきました。

私まで配ってるというのはなかなか網の目が細かい雰囲気ですが、どのくらいの範囲に通知されているのでしょうか。


トップを狙う

Copyrigiht © 2006 びい