2004-09-03から1日間の記事一覧

SPIN_DELAY()

PostgreSQL8.0では、スピンロックを取得するs_lock()にSPIN_DELAYマクロが追加された。 SPIN_DELAYはx86環境では、アセンブラでrep; nopを実行する。 rep; nopはPentium4およびXeon環境では、pause命令として解釈される。それ以外のx86-CPUでは、単なるnopと…

dynahash.c

PostgreSQLのハッシュテーブル(dynahash.c)は、リニアハッシュというアルゴリズムで実装されており、ロックマネージャや共有メモリ、リレーションキャッシュなどで利用されている。 リニアハッシュはテーブルサイズを1つずつ拡張できるアルゴリズムであり、…