次の例は、restrict キーワードなしでも機能しますが、パフォーマンスは悪くなります。
図 1. restrict キーワードを使用しない例
restrict キーワードを使用すると、反復間でエイリアシングは使用されず (__restrict
)、反復内のエイリアシングはデータ依存により保持され、各反復で異なるロケーションにアクセスできるようになります。並列処理が増加するので、パフォーマンスが向上します。
図 2. restrict キーワードを追加