fence

名詞

  1. 一つのまとまりとして扱われることを意図したデータ片を区切るために使われる、一つ以上の際立った(out-of-bandな)文字(あるいは他のデータ項目)の並び(コンピュータサイエンスの文献ではこれをセンチネルと呼ぶ)。Cで文字列を終端するNUL(ASCII 0000000)文字はfenceである。Hex FFも(やや頻度は低いが)この用法で使われる。zigamorphを参照。

  2. 配列やその他のデータ構造に挿入される追加のデータ値で、配列の内容に対する通常のテストを、終了テストとしても機能させるためのもの。たとえば、配列内のある値を見つけるための高度に最適化されたルーチンは、探している値のコピーを配列の最後のスロットの後ろに人為的に置き、それによってメインの探索ループが、各回ごとに配列の末尾に達したかどうかをチェックすることなく値を探索できるようにするかもしれない。

  3. [最適化コンパイラのユーザーの間で]通常はコンパイラに関する知識を利用して、特定の最適化を阻止する技法。明示的な仕組みが利用できないか、大げさすぎるときに使われる。たいていはハック。「オプティマイザのレジスタ彩色情報をフラッシュさせるために、そこでダミーのプロシージャを呼ぶ」は、より短く「それはfenceプロシージャだ」と表現できる。