彷徨えるフジワラ

年がら年中さまよってます

mac

Mercurial 開発環境におけるテストセット実行性能の改善

先に結論を書いておきますが、要するに: 利用可能な CPU コア数を増やし、高並列に実施すれば、早く終わる という、至極平凡な話です(笑)。 事の始まり 先日、自分の投函したパッチに関して、マスターリポジトリに変更が取り込まれる寸前に、ちょっとした…

OS毎のシステムコール実行性能 〜 その6(まとめ)

幾つかのシステムコールの実行性能をOS毎に計測して、「Mac OS X 上では、予想通りシステムコール実行性能が低めでした」という結論でサックリ終わる予定だったのですが、実際に計測してみると、思った以上に色々なバリエーションがあったため、予想外に内容…

OS毎のシステムコール実行性能 〜 その5

その1: fork, execve の性能計測 その2: vfork の性能計測 その3: fstat, lstat の性能計測 その4: getpid, gettimeofday の性能計測 その5: time, umask の性能計測 その6: まとめ time の性能比較 「システムコール実行性能の比較」という点では微妙ですが…

OS毎のシステムコール実行性能 〜 その4

本来であれば、その3までに実施した計測に先立って確認しておくべきなのですが、各OS毎の「システムコール実施自体のコスト」を、ここで改めて比較しようと思います。実のところ、「比較しようと思います」などと言いつつ、比較そのものは出来ていないのです…

OS毎のシステムコール実行性能 〜 その3

前回までで fork、vfork および execve といったプロセス生成系システムコールの実行性能を比較しましたので、今回はファイルシステム操作系システムコールの実行性能を比較しようと思います。 その1: fork, execve の性能計測 その2: vfork の性能計測 その…

OS毎のシステムコール実行性能 〜 その2

前回は、fork および execve システムコールの実行性能を、OS毎に計測して比較してみました。fork を比較したのなら、当然 vfork も比較したくなるのが人情ですよね?(笑) その1: fork, execve の性能計測 その2: vfork の性能計測 その3: fstat, lstat の性…

OS毎のシステムコール実行性能 〜 その1

Mercurial のテストセット ("make tests") を複数の環境で実行したところ、ほぼ同一性能の CPU 上での実行にも関わらず、Mac OS X 上での実行では、仮想環境上の Linux での実行よりも、大幅に時間を要することが確認できました。仮想環境上の実行ではクロッ…

システムワイドなロケール設定 〜 Mac OS X (その2)

その1では、「ターミナル」や、SSH 経由でのアクセスなど、主にCUI系アクセスでのロケール設定に関してまとめました。本エントリでは、主に GUI 経由で起動されるアプリに対して、ロケール設定を反映させる方法についてまとめます。 GUI 経由で起動されるア…

システムワイドなロケール設定 〜 Mac OS X (その1)

Mac OS X でのロケール設定の取り扱いに関して、調べた結果を備忘録代わりにまとめておきます。なお、私自身がもっぱら「Mac mini に SSH 経由でアクセス」をメインとする、相当な「ニワカ Mac ユーザ」なので、本エントリの情報精度は、他のエントリに輪を…

Mac OS HFS+ におけるファイル名文字コード

Mercurial で case insensitive filesystem 周りの修正をする際に仕込んだ知識のまとめエントリその5。またもや case insensitive とは関係の無い話。"\xc4\xb0" というバイト列を名前に持つファイルを生成する状況を想定する。Windows において、Python の…

case の insensitive と preserve

Mercurial で case insensitive filesystem 周りの修正をする際に仕込んだ知識のまとめエントリその4。case insensitive filesystem とは言うものの、あくまで『文字大小に関わらない一致判定を行う』というだけで、文字大小に関する情報が破棄されるわけで…

トルコ文字と case insensitive filesystem

Mercurial で case insensitive filesystem 周りの修正をする際に仕込んだ知識のまとめエントリその2。トルコ語 (Turkish) の文字には、『アイ』(I) の文字のバリエーションに以下の4つがあるらしい。 U+0049: LATIN CAPITAL LETTER I U+0069: LATIN SMALL …

グルジア文字と case insensitive filesystem

Mercurial で case insensitive filesystem 周りの修正をする際に仕込んだ知識のまとめエントリその1。グルジア語 (Georgian) の文字 U+10A0 と U+2D00 は、Unicode 仕様上は大文字/小文字の関係にあるので、例えば最新の Python 処理系で以下のような条件…

Mac mini の環境整備

Mercurial の日本語対応に関して、文字大小を認識しないファイルシステム上での不具合を修正するために投げた僕のパッチに、cp932 (いわゆる SJIS ね) なファイル名を使用するテストが含まれていたのだが、どうやら非日本語環境な Windows では期待通りに動…