December 04, 2004

コンパイラの入れ替え

コンパイラを入れ替えたら数値計算が速くなりました。今までCygwinのgcc3.3.2で-O3 -march=i686 -malign-doubleで1分程度かかっていた計算が、Microsoft Visual C++ Toolkit 2003のcl.exe /O2 /G7で30秒程度で終わるようになりました。なんと半分に!!

入れ替えたVisual C++ Toolkit 2003ですが、普段gcc使いの自分のことなので当然無償です。しかし無償だからといっていい加減なわけではなく、付属するコンパイラやリンカは最適化を含めてVisual Studio .NETと同等品らしいです。ライブラリもSTLまではついてくるので数値計算にはこれで十分だと思います。
また聞いた話によると、Intelの最適化コンパイラはMicrosoftのリンカを必要とするらしいですが、製品版を買わなくともこれで代用可能らしいと聞きました(真偽はわかりません)。

せっかくなのでCygwinのmakeからも使えるようにしました。方法は簡単で、インストールディレクトリの下のbinにpathを通すことと、ライブラリパス(LIBPATH)とインクールドパス(INCLUDE)を環境変数かコマンドオプションで渡してやればOKです。

参考にmakefileのテンプレートを下の書いておきます。(例えばD:¥Program Files¥Microsoft Visual C++ Toolkit 2003¥にインストールした場合)

CXX="/cygdrive/d/Program\ Files/Microsoft\ Visual\ C++\ Toolkit\ 2003/bin/cl.exe"
CFLAG=/O2 /I "D:\Program Files\Microsoft Visual C++ Toolkit 2003\include" /G7 /link /LIBPATH:"D:\Program Files\Microsoft Visual C++ Toolkit 2003\lib"

all : hoge.exe

%.exe : %.cpp
    {CXX} $< ${CFLAG}

clean :
    if [ -f *.exe ]; then rm *.exe; fi; \
    if [ -f *.obj ]; then rm *.obj; fi

16:09 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/343

December 07, 2004

3domain.hkに移行

naruoka.orgで使用しているDDNSのminiDNSが12/6をもって3domain.hkにサービスを移管しました。それにあわせてnaruoka.orgのDDNSも3domain.hkに移行完了しました。

以前、miniDNS用のIP更新スクリプトを作成しましたが、3domain.hkに移行してもプロトコルはかわっていないようなので、ちょっとしたところを書き直せば使えました。3domain.hk用の修正版をあげておきます。説明書をご覧ください。

あとですが、12/6の移管前に『サービス停止お知らせメール』をminiDNSから送られていたらしいのですが、そのことをしらずにminiDNSでサービスが停止になったのはなぜ、という問い合わせをしたところ、丁寧に3domain.hkへの移行方法を教えてもらえました。無料にもかかわらずサポートがしっかりしていたのには驚きで、現在非常に好印象をもって使っています。

22:06 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (1) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/344

December 13, 2004

PSP : NetBSD ?

Play Station PortableことPSPが発売されましたが、中身はNetBSDの技術を使っているらしい?という話(元ネタ)を目にしました。

非常に興味があるので、どなたか詳しい方は教えてください。もしかしたらPSPを買ってばらすかもしれません。

19:23 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/345

December 20, 2004

サンタ追跡プログラム

[Tips]

R25より面白そうなネタがあったので紹介します。

人工衛星をあげている人(そんな人は稀ですが…)がよくお世話になっているのは北米航空宇宙防衛司令部ことNORAD(ノーラッド)です。ここは空からの脅威を観測しつづけている部署で、全人工衛星の監視もその任務の一つにしており、人工衛星の軌道情報を提供してくれています。キューブサット(XI-4)もここのお世話になっていると思います。また、日本が打ち上げたスパイ衛星の軌道がばれてしまったのもここのお陰らしいです。
で、そのNORADですが、クリスマスシーズンにむけサンタ追跡プログラムを発動した模様です。イブには全世界のサンタさんの行動が生中継されるらしいです。高度な索敵システムを使ってサンタを探そうというプログラム、お茶目でよいですね!!

19:39 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (1) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/346

December 23, 2004

mallocしない正規表現

H8のようなマイコンで動く、mallocしない、つまり思わぬところからメモリを確保することのない正規表現ライブラリをこしらえてみました。動機はH8でもネットワークと直結できる今のご時世、HTTPのヘッダ解析すらマイコンでしなければならないわけですが、それをだらだらと書くのは鬱というものだろうということでがんばってみました。

特徴は、はじめにメモリをスタックから確保し、それ以上のメモリが必要になった場合はエラーをはいてとまるようにしてあります。つまり事前に試行実験をしておいてあらかじめメモリがどの程度必要か見極めさえすればそれ以上のメモリは要求されないので、マイコンなどのメモリが極端に少ないアプリケーションにはうってつけでないかと思います(逆にそこまでして正規表現使いたいかといわないでください…)。

ダウンロード・機能・使い方などは以下をどうぞ。

続きを読む "mallocしない正規表現"
21:21 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (1) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/347

December 29, 2004

津波

[Timely]

今年は自然災害が多い年ですね…。スマトラ島沖地震で津波発生、現在死者は5万人を超えたとか。どちらかというと人災な気がしないでもないです。地震大国の日本であったら津波の警報もしっかりしているので、もっと被害が少なかったのではないでしょうか。

ということでいちおうクリック募金はしておきました。募金パーク

09:03 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/349