問題タブ [noop]

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 投票する
0 に答える
241 参照

javascript - JavaScript — マウス イベント リスナーで最もパフォーマンスの高いノーオペレーション?

環境

Redux アプリケーションを構築しており、アプリケーションの状態に応じてイベント ハンドラーを変更したいと考えclickています。mousemove

これを達成するために、click単一のmousemoveハンドラーをにアタッチすることを計画していdocumentます。これらは、Redux ストアをサブスクライブするスコープに属し、関連する状態を認識します。

ハンドラーを実装するための 2 つの戦略があります。

  1. switch関連する状態変数に対してステートメントを使用します。これswitchは、発生したイベントごとに呼び出す必要があります。
  2. 状態が更新されるたびに参照対象を交換する内部 (スコープへの)scope._clickHandlerおよびプロパティを参照します。scope._moveHandler

質問1:

戦略 2 を選択した場合、mousemoveほとんどの場合、ハンドラーは何もしないでください。しかしmousemove、たくさん解雇されます!scope._moveHandlerプロパティにバインドできる最もパフォーマンスの高い no-op 関数は何ですか?

質問2:

switch最良のケース (w/r/t 質問 1) では、戦略 1 で使用されるステートメントが 10 から 100 のケースをテストする必要があると仮定すると、戦略 2 は戦略 1 よりもパフォーマンスが高くなりますか?

明確化

このアプローチでは、イベントが発生したときに常に 1 つの「委任」関数が呼び出されます。その関数は、状態プロパティに応じて異なることを行います。これは、その状態を で一致させるか、単に異なる「委任先」関数を状態としてswitchバインドすることによって行われます。

質問 1 は、最適な何もしない「委譲」関数について質問しますが、質問 2 はswitch、コールバックに大きなブロックがあることによって生じるパフォーマンスの低下について質問しmousemoveます。

私たちコミュニティが@nnnnnnの直観に同意する場合function(){}、ノーオペレーションと同じくらい優れているとしたら、私の質問は次のようになります。

switchno-op 関数呼び出しのオーバーヘッドと、ブロック内の等値比較のどちらがパフォーマンスに悪いのでしょうか?

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

mips - MIPS 命令間のノーオペレーション数

次のような一連の指示があります。

質問は:

転送のない基本的な 5 ステージのパイプラインでは、I2 と I3 の間に何回の noop が必要ですか?

数は 2 だと思いますが、本で与えられた解は 1 です。手がかりをいただければ幸いです。

実際の問題は、コンピュータの構成と設計、The Hardware/Software Interface Fourth editionの演習 4.13 です。

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

python - プロファイリング時の TensorFlow の NoOp とは?

GPU で ops をプロファイリングしています。長い NoOp の背後で何が起こっているのでしょうか?

TF 0.11.0 では、最後の操作である TopKV2 が CPU (GPU カーネルを持たない) で実行されるため、NoOp は GPU から CPU にデータを転送する間の時間を表しているようです。

ここに画像の説明を入力

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

multithreading - javamail のアイドル状態がメッセージのトリガーを停止するしばらくするとスレッドがロックされる

メール メッセージを受信して​​処理する Android アプリを開発しています。アプリは IMAP サーバーに接続し、接続を維持する必要があります。これにより、新しいメール メッセージを即座に確認して処理できます (メールには、メール API サーバーからの json データが含まれます)。アプリには、手動接続とライブ接続の 2 つのモードがあります。これが私のコードの一部です:

}

問題は次のとおりです。Alive Connection モードで、ユーザーが更新している場合やアプリが自動更新されている場合に、この条件のいずれかまたは両方が原因で、アプリが新しいメッセージを受信できなくなることがあります。これは、javamail ソース コードからのものです。

1: IdlerThread は次の時点でモニター状態に入ります。

2: 「refresherThread」は次の時点で待機状態に入ります。

この両方のスレッドのいずれかが実行を「停止」するため (待機および監視状態)、この状態に達するとアプリは役に立たなくなります。私の国では、モバイル データ ネットワークは非常に不安定で、遅くて高価です (GSM)。

接続がサイレントに失敗し、refresherThread がその仕事を開始すると、問題が発生すると思います。アイドルがアクティブな場合は DONE コマンドを発行しますが、接続が失われると、アイドルが FolderClosedException をスローしようとすると、一方または両方のスレッドが無期限にロックされます。

ですから、私の質問は次のとおりです。この状況が発生する理由と、それを防ぐ方法は? ロックされることなく、アイドル ループを安全に実行し続けるにはどうすればよいですか?

飽きるまで色々試しましたが結果が出ません。

私の問題を解決せずに読んだいくつかのスレッドを次に示します。私の国ではインターネットも非常に高価なので、私が望むほど多くの情報を調査することも、情報を求めてアクセスしたすべての URL をリストすることもできません。

JavaMail: IMAPFolder.idle() を維持する

JavaMail: IMAPFolder.idle() を維持する

Javamail : IMAPFolder の idle() を発行する適切な方法

私の英語を許してください。どんな提案でも大歓迎です。このサイトの厳しさについて聞いたことがありますので、お手柔らかにお願いします。私はここに来たばかりです。

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

bash - Crontab メールの件名の日付

次のようなcrontabプロセスをスケジュールするubuntuサーバーがあります。

プロセスの最後に、「Backup Settings ...」という件名のメールが届きます。基本的に、noop 関数 (:) は「バックアップ設定」という言葉に対して何もしません。今日の日付をメールの件名に追加したいと思います。当然、やってみました

しかし、それは目的の電子メールの件名、つまり「20180519 バックアップ設定」にはなりません。$(...) コードは評価されません。backup_settings.sh を呼び出す電子メール機能を備えた別のスクリプトを実行したくありません。crontab で Bash コマンドだけを使用してそれを行う方法はありますか?