問題タブ [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.
c# - ページクラス/アセンブリを動的にロードする:タイプまたは名前がグローバル名前空間で見つかりませんでした
ファイルシステム以外の場所(サービス内など)に「コンテンツ」(ASPX / ASCXおよびアセンブリ)を格納し、必要に応じて動的にロードするASP.NetWebアプリケーションを作成しようとしています。
別の場所からASPX/Master / ASCXファイルを読み取る処理を行うVirtualPathProviderを正常に作成しましたが、これらのASPXページがクラスを継承すると問題が発生します。つまり、コードが遅れている場合です。
別の質問の回答のおかげで、実行時にアセンブリをアプリケーションに正常にロードできるようになりました。しかし、ランタイムがページをコンパイルしようとすると、次のエラーが発生します。
「コンパイラエラーメッセージ:CS0400:タイプまたは名前空間名'Web'がグローバル名前空間に見つかりませんでした(アセンブリ参照がありませんか?)」
[System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()] public class default_aspx:global :: Web.Code.CodeBehind、System.Web.SessionState.IRequiresSessionState、System.Web.IHttpHandler
わかりやすいように、コードを要約して、問題の簡単な例を示しました。このコードはここからダウンロードできます。
アセンブリは、AppDomain.AssemblyResolveイベントを使用して、実行時に動的にロードされます。これはglobal.asaxにあり、次のようになります。
何か案は?
編集 何らかの理由でWeb.Codeアセンブリを更新する必要がある場合、これらの変更を有効にするには、Webプロジェクトの「ReferencedAssemblies」フォルダーにコピーする必要があります。
.net - .NET CLR JITは、すべてのメソッドを毎回コンパイルしますか?
JavaのHotSpotJITは、コンパイルのオーバーヘッドが解釈モードでメソッドを実行するオーバーヘッドよりも低いと予想される場合、メソッドのコンパイルをスキップすることがあることを知っています。.NET CLRは、同様のヒューリスティックに基づいて機能しますか?
.net - チップベンダーからの.NetJITサポートはありますか?
ARMが実際にJavaとSUNをある程度サポートしていることは明らかですが、.NetJITコンパイラをサポートしているチップベンダーを実際に参照したことはありません。IBMとIntelの両方がCコンパイラをサポートしていること、およびTIと多くの組み込みチップベンダーをサポートしていることを私は知っています。あなたがそれについて考えるとき、すべてのJITコンパイラは、チップベンダーの専門家にぴったりだと思うコンパイルと最適化の最終段階です。おそらく、VM用の標準化されたプラグインコンパイルエンジンは理にかなっています。
Microsoftは.Netを組み込みWindowsプラットフォームにもターゲットにしているので、それらは公正なゲームです。
ピート
c# - Mono の埋め込み - ネイティブ -> マネージド コンテキスト スイッチのオーバーヘッド
Mono でのネイティブ -> マネージド コンテキスト スイッチのオーバーヘッドの詳細を知っている人はいますか? つまり、C API を使用して .NET メソッドを呼び出す/.NET オブジェクトを作成することによって発生するオーバーヘッドです。
javascript - JIT なしで v8 をビルドする
パフォーマンスを比較するために、JIT の有無にかかわらず v8 でいくつかのテストを実行したいと思います。JIT によって平均速度のパフォーマンスが向上することはわかっていますが、モバイル プラットフォームで作業したいので、実際のより詳細なテスト結果が得られるとよいでしょう。
Squirrelfish に存在するような JIT を有効または無効にする方法が見つかりませんでした (JavaScriptCore/wtf/Platform.h の ENABLE_JIT を参照)。
誰かがv8でそれを行う方法を知っていますか?
ありがとう。
アレクサンドル
.net - .NETCFJITコンパイラからネイティブコードバイトを表示する方法
NETCF JITコンパイラによってコンパイルされたネイティブコードバイトを調べる方法(サポートされているかサポートされていないか)を誰かが提案できますか?私はたまたまARMプラットフォームのWinCE6.0を使用しています。
これはネイティブデバッガーで実行できると思いますが、(基本的に)自分が見ているものを自分の方位にどのように認識させるかを理解しようとしています。おそらく、P / Invoke呼び出しにブレークポイントを設定してから、JITtedマネージコードに戻ることができます。これは、関心のある特定のルーチンにいつ戻るかを知るための秘訣です。
私の目的は、(私の場合)JITted数学コードのパフォーマンスが同等のC ++(ネイティブ)コードよりも大幅に悪い理由を特定することです。はい、.NETCFにはネイティブの浮動小数点サポートがないことを認識しています。
c# - 最適化が有効になっている場合、JIT は常にこのメソッドをインライン化しますか?
私は明確な「はい」または「いいえ」を期待していません。あなたが持っているかもしれないどんな知識でも、私は答えとして考えます。
java - Javaバイトコードをネイティブに実行するハードウェアにJavaインタープリターを実装できますか?
Javaインタープリターをハードウェアに実装する場合、Javaバイトコードのアーキテクチャーの中立性をどのように実現できますか... JavaはJIT(ジャストインタイムインタープリター)を使用しますか?そして、これらすべてがオペレーティングシステムとJava仮想マシン(JVM)の仮想マシンの概念にどのように関連しているか
jit - コードをMSILに直接コンパイルする
マシンでコードを実行しているときにJITをバイパスできるように、コードをMSILではなくネイティブコードに直接準拠させる方法はありますか?可能であれば。テクニックも教えてください。
ありがとう
.net - .NET アセンブリ キャッシュ / ngen / jit イメージのウォームアップとクールダウンの動作
C++/CLI を介して C#.NET 2.0 DLL でビルドされたインプット メソッド (IME) プログラムがあります。IME は常に別のアプリケーションに接続しているため、C#.NET DLL はイメージ アドレスのリベースを回避できないようです。
ngen を適用してその C#.NET 2.0 DLL のネイティブ イメージを作成し、グローバル アセンブリ キャッシュにインストールしましたが、あまり改善されず、約 12 秒かかりました。9秒まで。遅い PIII レベルの PC で。
したがって、起動時に C#.NET DLL によって参照されるすべてのコンポーネントをロードする小さなアプリケーションを使用して、その DLL のネイティブ イメージを "ウォームアップ" します。読み込み時間を 0.5 秒に短縮することは問題なく機能します。
しかし、それはしばらくの間しか機能しませんでした。約30分 後で、再び「クールダウン」するようです。
GAC またはネイティブ イメージの動作を常に「ホット」に制御する方法はありますか? これはまさにイメージアドレスのリベースの問題ですか?