問題タブ [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 投票する
1 に答える
614 参照

c# - NHibernate を使用して個別の SELECT で複数のネストされたコレクションを積極的にフェッチする

次のデータベース構造があり、レポートのために完全にトラバースする必要があります。

テーブルにクエリがありProducts、上記のデータをまとめてアクセスするため、これらのデータをプリフェッチしたいと考えています。組み合わせが爆発してデータの負荷が発生するため、JOIN の使用は避けたいと思います。

私の目の理想的な解決策は次のとおりです。

  • 一致するすべての製品をロードするためのクエリが発行されます
  • Select * from ProductVariations where ProductId in ([all_product_id_set])次に、結果セットが解析され、' ;のようなクエリに基づいて、すべての製品バリエーションが一緒に読み込まれます。
  • 繰り返しますが、この結果セットは解析され、次ProductMediaItemのようなクエリを使用してすべてがフェッチされますSelect * from ProductMediaItem where ProductVariationId in ([all_product_variation_id_set]);
  • などなど

これにより、SELECT異なる関連付けごとに 1 つになります。したがって、すべての製品バリエーション、そのメディア アイテム、各製品カテゴリ リンク、およびそれぞれのカテゴリを読み込むには 5SELECT秒かかります。

を使用してみcriteria.SetFetchMode("ProductVariations", FetchMode.Select")ましたが、これは何もしません。私の現在の回避策はバッチ処理を使用することですが、これでもすべてのデータを取得するために約 50 ~ 60 のクエリが発生します。それほど遅くはありませんが、はるかに高速化できると思います。

NHibernate の最新バージョン - 3.3 を使用しています。

更新 1

通常の OOP を使用してコレクションをトラバースしたいと思います。例:

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

django - 多対多フィールドの Django prefetch_related は常に空の配列を生成します

Django の prefetch_related に問題があります。

これが私のモデルです。

prefetch_related を使用すると、次のようになります。

ここで何が間違っているのか分かりますか?

Python バージョン 2.7 Django バージョン 1.4 DB バックエンド: SQLite (MySQL でも試しましたが、同じ結果)

そして、ここに (IPython コンソールからの) クエリのデバッグがいくつかあるので、そこで何が起こっているかを見ることができます。

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

c++ - 最大値のインデックスを見つけるために、このC++コードにプリフェッチを適用する

次のコードは、指定された配列内の最小/最大とその位置を検索します。

このコードを2D配列用に改善し、プリフェッチを利用したい

したがって、私のデータは次のようになります。

実際の場合、データははるかに多くなります。ここでプリフェッチする利点は本当にありますか?もしそうなら、私はこれについてどうやって行くのですか?また、Aのデータをプリフェッチするようにコンパイラに指示できるコンパイラ指令はありますか?

編集:

2D配列全体の最大値と、対応するインデックスが必要です。x86、Intel i3、Windows7で実行されます。

ご覧のとおり、このコードでは、最初に最大値を見つけ、次に最大値の場所を見つけています。この2ステップのプロセスを1つに単純化して、プロセスを高速化する方法はありますか?

更新: このコードを変更して、最初に最大値を見つけてからインデックスを見つけた以前とは異なり、データを1つのステップで処理するようにしました。問題は、パフォーマンスを向上させるためにプリフェッチをどのように使用するかです。

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

c++ - Windows MFC アプリケーションで .pf (プリフェッチ) ファイルの作成を無効にするには?

C++ MFC アプリケーションを作成しています。プログラム実行中にHDDにデータを書き込むのは避けたい。

アプリケーションを開くと、Windows はすぐに.pfディレクトリにファイルを作成します..\Windows\Prefetch\

プリフェッチ ( ) を担当するレジストリ値を無効にすることはできませんHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher。アプリケーションを多数の異なるマシンで実行する必要があり、一部のユーザーは regedit の実行方法さえ知らない可能性があるためです。

アプリケーションでこのファイルの作成を無効にするオプションがあるかどうか教えてください。

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

caching - Backbone.Collectionのプリフェッチとキャッシング

プリフェッチやキャッシングを実装する方法について、推奨されるライブラリ、パターン、または例はありBackbone.Collectionますか?たとえば、さまざまな表示モード(日、週、月など)を持つカレンダーに表示したいイベントがあります。週単位のビューであっても、ネットワークリクエストが多すぎるのを避けるために、データベース/ APIを一度に1〜3か月間1回クエリする方がよいと思います。

次に、受信したデータをキャッシュすることは有益だと思います(ユーザーが常にページをめくると、より高速になります)。これは簡単ですが、何をどの時点でクリアするかを何らかの方法で決定する必要もあります。PHPにはPHPAPCがあり、XCacheなどはJSに似たようなものがあるかどうか疑問に思っていました。それともサーバー側でそれを行いますか?仕事ではJavaサーバーですが、最近はNodeJSにも興味があります

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

x86-64 - 書き込みのプリフェッチは、シングル コアのパフォーマンスに影響しますか?

一部のアーキテクチャには、実際に書き込む前にメモリ位置に書き込むことを CPU に示す「プリフェッチ書き込み」命令があります。マルチコア マシンでは、コアが指定されたキャッシュ ラインの所有権を取得して、後でより迅速にその場所に書き込むことができるようにするヒントとして、これを使用できることを理解しています。ただし、AFAICT は、2 つのコアがキャッシュ ラインをめぐって競合する可能性がある状況でのみ問題になるはずです。単一のコアによってのみ読み書きされるキャッシュ ラインの場合、プリフェッチ書き込みは何の役にも立ちませんか?

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

firefox - Mozilla Firefox のプリフェッチ rel="next"

Firefox は、次のようにメタ タグに設定されているものをすべてプリフェッチするようです。

詳細については、こちらをご覧ください: http://developer.mozilla.org/en-US/docs/Link_prefetching_FAQ

現在、私のサイトでは、コメントなどのために複数のページがある場合、rel="next" と rel="previous" を使用しています。これは良いマークアップであり、特定の読者や検索エンジンを支援するために使用される可能性があると考えたからです。ボット。

ただし、ユーザーが最後に読んだコメントが何であったかを追跡しようとしましたが、これは機能していません (単純なことに何時間も費やしたばかげた時間の 1 つです)。

基本的に、たとえばユーザーが 3 ページ中 2 ページ目を読んだ場合、データベースを更新して、2 ページ目は読んだが 3 ページ目は読んでいないことを伝えます。ただし、3 ページ目はプリフェッチされるため、そのページのコードが実行され、SQL 更新が発生します。ユーザーが実際にページ 3 を読んだことがないにもかかわらず、そのページも同様に表示されます。

だから本当に私はいくつかの質問があります:

  • 「次」と「前」のマークアップを維持しながら、これを回避する方法はありますか? それとも、それらのメタ タグを削除する方が簡単ですか?
  • 私が知っていて対処すべき他の形式のプリフェッチはありますか?
  • 何かが特別なリクエスト ヘッダーなどの単なるプリフェッチであるかどうかを確認する特別な方法はありますか?
0 投票する
1 に答える
1680 参照

c++ - Visual Studio 2012 の _mm_prefetch はどこにありますか?

命令 _mm_prefetch を使用したいと思います。MSDNは、ヘッダー mmintrin.h にあると指定していますが、ありません。Visual Studio 2012 を使用しています。

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

jquery - jQuery Mobile プリフェッチ ページを自動的に

JQM プロジェクトにプリロード ページを追加する必要があります。これを行う最善の方法は、プリロード ページで JQM Prefetch 関数を使用し、プリフェッチされた (ホームページ) ページがロードされたときに起動することだと考えました。

これが使用しているコードです。url(home.html) をどこに追加すればよいかわからないので、これを機能させるにはインスタンスを追加する必要がありますか? どんな助けでも大歓迎です。ありがとうございました。

HTML

Custom.js

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

android - Android プリフェッチ Webview

Android用の「Daily ....」アプリを作成しています。(「毎日の花」としましょう) アイデアは、毎日通知を受け取り、それをクリックすると花の写真とテキストが表示されるというものです。これをウェブサイトから配布したいと思います。

loadUrl を実行する WebView を使用して、アクティビティへの通知とインテントを作成するだけです。ただし、これでは遅すぎます。(ネットワークによっては、1 ~ 5 秒かかります。)

そこで、「サイト全体」(1 つの HTML ファイル、1 つの画像) をプリフェッチして通知を作成し、アプリケーションが毎日の花をすばやく表示できるようにします。

これは簡単にできますか?HttpClient などでこれを行うのは難しい方法ですが、むしろ WebView.saveState のようなものを使用したいと思います