最終ポスト(下から4番目かそこらパラ)に言及here OP:削減呼び出し、与えられたヒープ割り当てられたオブジェクト
「今、いつもこのことについて、私を気に一つのことがすべてです子が ポインタチェック。多くのnullポインタがあり、 は、メモリアクセスを待って、0でキャッシュを埋めるように見えます。 愚かです。時間がたつにつれて、1または0を含むバイトを追加して、それぞれ ポインタはNULLです。最初はキャッシュを減らしました しかし、私は9距離の比較、8ポインタを管理しました ビット、および3方向ビットのすべてをいくつかのテーブルに渡し、ロジックを は、ケースが ポインタチェックをスキップし、関連する子のみを直接呼び出すことができるように単一のスイッチ変数を生成します。それはあなたがこのバージョン見 を持っていない場合を説明するために速く上記以外 実際にはあるが、多くの困難。」
彼は、リアルタイムのボリュームレンダリングのためのデータ構造としてオクトリを参照している。これらの
(a)メモリアクセスを待っているという前提はありますか?私の理解は、彼が言及していることです動的にallocを使用するときに一般的にあまりにも良い参照のローカリティのためにキャッシュ内に見つからないと仮定しているので、データをフェッチするためにメインメモリに完全に実行されるのを待っているated octree(この種のアプリケーションではこのデータ構造に共通)
(b)の(a)は、私はそれぞれの場合伝えるために1または0を含むバイトを追加する方法この回避策
時間にわたって把握しようとしています、真実であることを証明するべき ポインタはNULLです。
ヒープを使用依然としてことなく実施し、私はそれはオクツリーノードに格納される必要があると仮定するので、したがって、依然として、同じオーバーヘッドを招くことになります。
この質問は本当に難しいですか?私は、少なくとも(b)は、ここの周りの一人が光を当てるのは簡単だろうと思っていたでしょう。 –