問題タブ [prefetch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1621 参照

x86 - x86 でのページ境界を越えたソフトウェアのプリフェッチ

私の理解では、ハードウェアのプリフェッチは決してページの境界を越えることはありません。ソフトウェア プリフェッチに同じ制限があるかどうか、つまり、将来の TLB ミスを回避するためにソフトウェア プリフェッチを使用できるかどうか疑問に思っています。調べてみると可能のようですが、ドキュメントに決定的なものが見つからなかったので、参考にしてください。

Nehalem、Sandy Bridge、Westmere に特に興味があります。

0 投票する
2 に答える
2009 参照

uitableview - 2つのNSFetchedResultsControllerを使用してCoreDataから多数のデータをフェッチする

NSFetchedResultsControllerを使用してUITableViewのCoreDataから10000レコードをフェッチし、できるだけ速くしようとしています(リクエストには並べ替え記述子があるため、この量のデータをフェッチするのに時間がかかります)。

最初のメインのNSFetchedResultsController(テーブルのデリゲートメソッドで使用)を使用してCoreDataから100レコードをフェッチしようとしています。これは、別のキューでauxiliarFRCのすべての10000レコードに対して別のフェッチを開始したときにテーブルに表示されます。AuxFRCでのフェッチが終了した後、メインFRCにAuxFRCを割り当てて、すべてのレコードが転送されるようにし、テーブルをリロードします。

私の問題は、performFetchをディスパッチしても、AuxFRCがフェッチを終了するまで、UITableViewが最初にロードされた行でスタックし、これが発生する理由がわかりません。この方法が間違っている場合、10000レコードをフェッチするために他の方法を使用できます。データが変更された場合でも最新の状態を維持しますか?

0 投票する
3 に答える
12820 参照

html - HTMLで新しいプリレンダーまたはプリフェッチを設定する正しい方法は何ですか?

ページを開くと、https: //www.apple.com/がプリレンダリングされ、さまざまなブラウザでプリフェッチされます。ドキュメントがクリックされたら、別のページhttps://www.apple.com/ipadをプリレンダリングしてプリフェッチしたいと思います。

選択する方法は2つあるようです。link現在の2つの要素のURLを置き換えることができます。または、2つの新しいlink要素を要素に挿入できheadます。

HTMLで新しいプリレンダーを設定する正しい方法は何ですか?

HTMLで新しいプリフェッチを設定する正しい方法は何ですか?

Chromeでprerenderlink要素のURLをhttps://www.apple.com/からhttps://www.apple.com/ipadに置き換えようとしました。Chromeのタスクマネージャーをオンにしたところ、https: //www.apple.com/ipadが事前に作成されていないことがわかりました。事前にレンダリングされた唯一のページはまだhttps://www.apple.com/です。それで、この方法は機能しないように見えますか?

0 投票する
2 に答える
667 参照

html - プリレンダリングされたリソースまたはプリフェッチされたリソースが実際に Firefox、Safari、および IE10 でプリレンダリングまたはプリフェッチされているかどうかを確認するにはどうすればよいですか?

上記のコードがあるとします。https://www.apple.com/は Chrome で事前にレンダリングされます。これは、Chrome のタスク マネージャーをオンにするとわかります。これはかなり良いです。

https://www.apple.com/が実際に Firefox でプリフェッチされているかどうかを確認するにはどうすればよいですか? Firefox はこれに対する解決策を提供していますか?

https://www.apple.com/が実際に Safari および IE10 でプリフェッチまたはプリレンダリングされているかどうかを確認するにはどうすればよいですか? これら 2 つのブラウザはこれに対する解決策を提供しますか?

ありがとうございました!

ところで。Safari と IE10 はどちらの方法を選択しますか? プリレンダリングまたはプリフェッチ?

0 投票する
1 に答える
217 参照

php - PHPとjQueryを使用した内部ページのプリフェッチ

構築しているModXRevoサイトのプリフェッチャーを自分で構築しようとしています。

私は今オンラインになっSyntax Errorています<script type="text/javascript">

これを正しく機能させるにはどうすればよいですか?

私はそれを私のページ/テンプレートに次のように含めています<script type="text/javascript" src="/prefetcher.php"></script>

そしてここにコードがあります:

FireBugを見ると、prefetch.phpへのリクエストが正しいコンテンツタイプとして返​​されます...

0 投票する
1 に答える
789 参照

c++ - Visual Studio C / C ++は自動ソフトウェアプリフェッチをサポートしていますか?

IntelIBMのxlcなどのコンパイラは、データのプリフェッチ命令を自動的に挿入できます。

読みやすさを犠牲にしてプリフェッチに役立つコードがいくつかあります。つまり、次のようなコードの自然なグループ化があります

memsetによって発生するキャッシュミスのコストは、プロシージャ内で割り当てをさらに押し上げ、直後にプリフェッチ命令を発行することで軽減できます。その直後に、データを取り込むための十分な命令をmemsetとの間に配置します。キャッシュ。私の場合、medium_sizeを計算するコードは、プロシージャでさらに押し上げると少し面倒になり、読みにくくなります。

コンパイラがプリフェッチを価値のあるものにするためにコードを再スケジュールできれば(おそらくPGOのサポートにより)、両方の長所を活かすことができます。

これまでのところ、Visual Studioは組み込み関数、つまりプリフェッチ命令の手動配置のみをサポートしているようです。私が間違っている?


質問に応じた明確化の更新:

Q:コンパイラは上記のコードをどのように改善しますか?A:上記のコードは、関係するもののフレーバーを与えるためだけのものです。実際のコードはもっと複雑ですが、要約すると、割り当てとそれに格納されます。読み取りは、メモリに書き込むときにmemsetによって行われます。一部のアーキテクチャでは、これはキャッシュミスをトリガーしない場合がありますが、x86では明らかに(vTuneによると)トリガーします(以下のmarkgzが回答)。

Q:memsetを使用するだけで十分ではありませんか?memsetのメモリアクセスパターンは非常に予測可能であり、ハードウェアプリフェッチメカニズムがそれを処理する必要があります。A:はい、一般的にこれは真実であり、私は文脈の詳細を説明するという貧弱な仕事をしました。memsetを含むルーチン(foo)は非常に頻繁に呼び出され、キャッシュミスをトリガーするのはmemsetによる最初のメモリアクセスです。memsetがプリフェッチによってこのミスを改善するのに十分なデータがないため、memsetを呼び出す前にプリフェッチを行う必要があります。

0 投票する
1 に答える
409 参照

php - 動的に生成されたページでの画像のプリフェッチ

HTML5 プリフェッチは優れたツールであり、これまでは画像ギャラリーをナビゲートする際のユーザー エクスペリエンスが大幅に向上していました。ただし、この場合、画像を適切にプリロードできないようです。Chrome 開発ツールでネットワーク タブを表示すると、GET リクエストが処理されていることがわかりますが、ステータスでは (キャンセル) と表示され、タイプは「保留中」です。

これらのリクエストがキャンセルされる理由は何ですか?

基本的な PHP for ループを使用して、JSON 配列を反復処理し、ここで確認できる画像パスを取得しています。

上記のループが実行されたときに返されるものの例を次に示します。

0 投票する
0 に答える
1004 参照

listener - ActiveMQ、prefetch=0 のコンシューマー、コンソールで「エンキュー」数を増やす (ポーリングのため?)

Spring で構成された ActiveMQ を使用し、prefetch=0 の connectionFactory と 5-5 の同時実行性で構成されたリスナーを使用すると、予想どおり、ブローカーがメッセージをプッシュするのではなく、リスナーが新しいメッセージをポーリングしているように見えます。

ただし、キューの「アクティブ リスナー」の ActiveMQ Web コンソールでは、「エンキュー」列の数が急速に (毎秒約 1 つ) 増え続けていることがわかります。これは正常な動作ですか?prefetch=0 になったので、これは新しいメッセージのリスナーの各ポーリングを反映しているだけですか? 処理中の実際のメッセージがないのに、キューの Enqueue カウントが増加しているのは少し奇妙に思えます。また、ポーリングの頻度を調整する方法があるかどうか、または各コンシューマがブローカーに新しいメッセージをポーリングする前に遅延を設ける方法があるかどうかも疑問に思っていました.

動作するメッセージがない場合でも、prefetch=0 で各コンシューマのエンキュー カウントが増加し続けることを示すコンソールの写真:

http://activemq.2283324.n4.nabble.com/file/n4666021/enqueues.png

0 投票する
2 に答える
3976 参照

c++ - 使用頻度の低いコードをプリフェッチするにはどうすればよいですか?

一部のコードを命令キャッシュにプリフェッチしたいと考えています。コードパスはめったに使用されませんが、まれに使用される場合に備えて、命令キャッシュまたは少なくとも L2 にある必要があります。これらのまれなケースについて、事前に通知があります。_mm_prefetch はコードで機能しますか? この使用頻度の低いコードをキャッシュに入れる方法はありますか? この問題については、移植性は気にしないので、asm でも構いません。