問題タブ [jit]
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.
asp.net - Web アプリケーションがジャスト イン タイムでコンパイルされるのはどのような場合ですか?
アプリケーションが Just In-Time Compiled になる正確な条件について知りたいですか?
事前にコンパイルされていないサイトに最初にアクセスすると、JIT が発生することは誰もが知っていると思います。新しいコードを App_Code ディレクトリに投入するのはどうですか?
web.config を保存するなどのいくつかのアクションは、単にアプリケーション プールがアンロードされる原因になると確信していますが、これまでのところ、どのアクションがどの結果をもたらすかについて少し混乱しています。
いくつかの優れた MS ドキュメントへのリンクを取得したり、ASP.NET オールスターの考えに失敗したりしたいと思っています。
前もって感謝します!
pointers - 参照とポインタの実行速度
私は最近、マネージ言語がネイティブ言語よりも遅い (または速い) かどうか (具体的には C# と C++) に関する議論を読みました。議論に貢献したある人は、マネージ言語の JIT コンパイラーは、ポインターを使用する言語では不可能な参照に関する最適化を行うことができると述べました。
私が知りたいのは、ポインターではなく参照で可能な最適化の種類は何ですか?
議論はメモリ使用量ではなく、実行速度に関するものであることに注意してください。
asp.net - NGEN の使用は役に立ちますか?
あまり変わらないことがわかっている場合、ASP.NET アプリケーションである NGEN を使用する方がよいでしょうか? それともJITで十分ですか?
私が質問した唯一の理由は、2002 年のJeffrey Richter によるこの記事に次のように書かれているからです。
そしてもちろん、Microsoft は CLR とその JIT コンパイラの改善に懸命に取り組んでおり、より高速に実行し、より最適化されたコードを生成し、より効率的にメモリを使用できるようにしています。これらの改善には時間がかかります。待ちきれない開発者のために、.NET Framework 再頒布可能パッケージには、NGen.exe というユーティリティが含まれています。
c# - IsNullOrEmpty バグは .NET 3.0 以降で修正されていますか?
IsNullOrEmpty バグが 3.0 以降で修正されているかどうかを知っている人はいますか? 私は現在、2.0 の (NullReferenceException) バグに遭遇し、次のリリースで修正される予定であると記載されているドキュメントを見つけましたが、決定的な答えはありません。
.net - .NET で JIT を回避できますか?
コードが常に特定のプロセッサで実行される場合、インストール中にこの情報があれば、JIT を回避できる可能性はありますか?
asp.net-mvc - ASP.Net MVC アプリケーションを発行するときに cs ファイルを配置する必要がありますか?
開発マシンでコンパイルして正常に実行されるプロジェクトがありますが、Web サーバーで実行すると、次のエラーが発生します。
パーサー エラー メッセージ: ファイル '/Views/Shared/Main.master.cs' が存在しません。
言及されたファイルはサーバー上に存在しませんが、ファイル '/Views/Shared/Main.master' は存在します。
「Publish」コマンドを使用してプロジェクトをアップロードします。csファイルがありませんか?
オフにする必要があるインタイムコンパイルだけを行う設定はありますか?
.net - .NET 開発者が .NET アセンブリの 32 ビット/64 ビット バージョンを提供するのはなぜですか?
Evey はときどき、.NET アセンブリの x86 バージョンと x64 バージョンの両方を目にします。SharePoint の次の Web パーツを検討してください。開発者が 1 つのバージョンだけを提供し、JIT コンパイラーに残りを整理させないのはなぜでしょうか? これらの種類の提供物を見たとき、開発者がJIT を避けるためにngenのようなツールを使用してネイティブ イメージを作成することを決定しただけですか?
誰かここで私を助けてください。
更新しました
以下の内容から、x86 ビルドと x64 ビルドの両方が提供されているのは、次の理由の 1 つ以上のためです。
開発者は JIT を回避したいと考え、ngen.exe などのツールを使用して特定のアーキテクチャをターゲットにして、コードのネイティブ イメージを作成しました。
アセンブリにはプラットフォーム固有の COM 呼び出しが含まれているため、AnyCPU としてビルドしても意味がありません。このような場合、異なるプラットフォームを対象とするビルドには、異なるコードが含まれている可能性があります。
アセンブリには、JIT によって再マップされない pinvoke を使用する Win32 呼び出しが含まれている可能性があるため、ビルドはバインドされているプラットフォームをターゲットにする必要があります。
performance - コンパクトフレームワークとJIT。どれくらい時間がかかりますか
アプリに幻の遅延がありました。これは、オブジェクトが初めてタッチされ、JITで非難されたときのシングルトンの初期化に起因していました。JITを測定するメカニズムがなく(またはあるのでしょうか?)、全体の遅延は7秒だったので、私はこれに完全には納得していません。JITの7秒?!?それは現実的でしょうか?
いずれにせよ、私は簡単に測定できないものを非難するのは難しいです。しばらく前に問題を一瞥したとき、私はたくさんのコードをコメントアウトし、アプリの他の場所で7秒の遅延「ジャンプ」を見ました。どこかでバックグラウンドプロセスで何らかの形で発生していることを示唆しています(これにより、JITが潜在的な原因としてカウントされると思います)。
楽しみのために、たまたま他の多くのオブジェクトを参照している静的オブジェクトがあった場合、JITにかかる時間の経験則はありますか?JITについてもっと理解できるように、誰かがさらに参考資料を持っているので、JITがこの減速のせいであるかどうかを知るチャンスがありますか?
winforms - WebBrowser コントロールでスクリプト エラーが発生したときに Just-In-Time Debugger が表示されないようにする方法
Winforms アプリケーションで WebBrowser コントロールを使用しています。JavaScript 例外の原因となる URL に移動すると、Just-In-Time (JIT) デバッガー ウィンドウが表示され、この例外をデバッグするかどうかを尋ねられます。
(アプリケーション) で未処理の例外 ('オブジェクトが予期されました') が発生しました
これは、WebBrowser コントロールのScriptErrorsSuppressedをTrueに設定しても (リリース モードで) 発生します。Visual Studio がインストールされている場合にのみ問題を再現できたので、JIT デバッガーが例外をキャッチし、デバッグするかどうかを尋ねたと仮定します。
どうすればこれを防ぐことができますか? 私がやろうとしているのは、IE または Visual Studio を再構成することなく、例外をキャッチするか、アプリケーションの JIT デバッグを無効にすることです。
一部のユーザーは Visual Studio をインストールしており、これらの JIT ポップアップによりアプリケーションが使用できなくなります。