Entries from 2009-01-01 to 1 year
数日前、 pathtraqの事例を詳しく知りたい URLを扱うテーブルを作るときにどうすべきか - 金利0無利息キャッシング – キャッシングできます - subtech に対し、 pathtraq は前方一致検索が必要だから算術系圧縮して varbinary(767) だけど、順序の維持が不要…
プロセスが増殖したり pgid が変わってたりすると kill するのが面倒になってくるわけで。そういうときは、 sudo -u www kill -KILL -1とかやると、特定ユーザーのプロセスを全部殺せるので便利。
syscall って組込関数でシステムコールはできますけど、libc やその他ライブラリの関数を呼びたい、ってこともありますよね。i386 かつ dlopen な環境なら、こんな風に書けます。 use DynaLoader; use ops; sub ccall { my $r = '1111'; my $s = "\x68" . pa…
804d000H から1バイト読む例。poke できないのかなー print unpack('P1', pack('L', 0x804d000)); 参考: http://pub.ne.jp/wakapon/?entry_id=1253761
perl 5.8.7 以前かつ Encode のバージョンアップできねーみたいな環境でも互換性を保ちながら書けるように。 use Encode; use Encode::compat::MIME::Header::ISO_2022_JP; my $subject = encode('MIME-Header-ISO_2022_JP', '日本語の件名'); みたいな感じ…
CPAN 長いネームスペース大会 - にぽたん研究所 を見て、階層の深さだとどうなるかなと思ってやってみた。 1: perfSONAR_PS::Datatypes::v2_0::nmtl3::Topology::Domain::Node::Port::IpAddress 1: perfSONAR_PS::Datatypes::v2_0::nmtl4::Message::Metadata…
数ヶ月前に書いたコードを保守しようとしたら、 こんなのが出てきてウケた。 unsigned hits[24]; ... if (sscanf(buf, "%u,%u,%u,%u,%u," "%u,%u,%u,%u,%u," "%u,%u,%u,%u,%u," "%u,%u,%u,%u,%u," "%u,%u,%u,%u", hits + 0, hits + 1, hits + 2, hits + 3, h…
うちの環境。2.5TB ほど書いてるのかー $ iostat -k Linux 2.6.18-92.el5 (************) 02/14/2009 avg-cpu: %user %nice %system %iowait %steal %idle 0.03 4.92 2.24 6.83 0.00 85.98 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 1.02 11.87 …
久しぶりに MySQL のパッチ書いた。実用的な意味もあるけど (開発環境 Mac なので)、それよりは (天保山並みに低い) 山があるから登ってみた的な。Kazuho at Work: Using O_DIRECT on Mac OS X
$ curl http://www.google.com/language_tools 2> /dev/null | perl -MList::MoreUtils=apply -le 'apply { s{a\s+href="http://(?:www\.|)(google\.[a-z\.]+)/?"}{print $1}eg } (<STDIN>)' | sort | uniq google.ad google.ae google.am ...id:kdaiba++</stdin>
はやいTCPサーバの書き方 - nyaxtのPC作業ログ で id:nyaxt さんが書いてらっしゃるように、 epoll や kqueue を使う TCP_NODELAY, TCP_DEFER_ACCEPT *1 等を活用する TCP パケットを意識する I/O システムコールの回数を最小にする sendfile といったあたり…
ドライバも仮想メモリ空間で動作 DMA する際とか明示的にアドレス変換が必要 TLB cache のクリアコストとかどういう風に設計してるのか Mac OS X のドライバ色々書いた感想 - kazuhoのメモ置き場 の件、O'Reilly Media - Technology and Business Training …
はやいTCPサーバの書き方 - nyaxtのPC作業ログ について、いくつか気になった点があったので。 Nagleアルゴリズムは、相手側のACK送信をまとめてくれるものです。これは、下記の様にアプリケーション側でパケットを意識した処理を行っている場合、邪魔になる…
元の話題は int vs size_t problem のあたり。符号なし型の減算ループをどう書くかという話。実は、一定数までカウントアップするよりも 0 を通り過ぎるまでカウントダウンする方が速度とコードサイズの両面で良い、ってのは最適化の定石だと思ってました。…
年をはさんで Mac OS X のドライバをいろいろ書いたりいじったりしたわけですが、感想。 イベントドライバをマルチスレッドで書けるのは、とても楽 while ループで待ち受けとか IODelay (IOKit 内の sleep) はビジーループってことになってるけど、他スレッ…