问题标签 [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.

0 投票
1 回答
405 浏览

asp.net - 什么条件会导致 Web 应用程序及时编译?

我很好奇导致应用程序及时编译的确切条件?

我想大家都知道第一次访问一个非预编译的站点会导致JIT。将新代码扔到 App_Code 目录中怎么样?

我很确定某些操作(例如保存 web.config)只会导致应用程序池卸载,到目前为止,我对哪个操作具有哪个结果感到有些困惑。

我很想获得一些好的 MS 文档的链接,或者没有 ASP.NET 全明星的想法。

提前致谢!

0 投票
5 回答
5561 浏览

pointers - 引用与指针的执行速度

我最近阅读了关于托管语言是否比本地语言(特别是 C# 与 C++)慢(或快)的讨论。一位参与讨论的人说,托管语言的 JIT 编译器将能够对引用进行优化,这在使用指针的语言中是不可能的。

我想知道的是在引用而不是指针上可以进行什么样的优化?

请注意,讨论是关于执行速度,而不是内存使用。

0 投票
6 回答
10056 浏览

asp.net - 使用 NGEN 有帮助吗?

当我们知道 NGEN 不会发生太大变化时,使用 ASP.NET 应用程序会更好吗?还是 JIT 足够好?

我问的唯一原因是因为Jeffrey Richter 在 2002 年的这篇文章说:

而且,当然,微软正在努力改进 CLR 及其 JIT 编译器,以便它运行得更快,生成更优化的代码,并更有效地使用内存。这些改进需要时间。对于迫不及待的开发人员,.NET Framework 可再发行组件包括一个名为 NGen.exe 的实用程序。

0 投票
4 回答
628 浏览

c# - IsNullOrEmpty 错误是否已在 .NET 3.0 或更高版本中修复?

有谁知道 IsNullOrEmpty 错误是否在 3.0 或更高版本中修复?我目前在 2.0 中遇到了 (NullReferenceException) 错误,并且我找到了说明应该在下一个版本中修复的文档,但没有明确的答案。

0 投票
3 回答
1786 浏览

.net - 我可以在 .NET 中避免 JIT 吗?

假设我的代码是否总是要在特定处理器上运行,如果我在安装过程中有这些信息 - 我有机会避免 JIT 吗?

0 投票
4 回答
3522 浏览

asp.net-mvc - 发布 ASP.Net MVC 应用程序时是否应该部署 cs 文件?

我有一个项目可以在我的开发机器上编译并运行良好,但是当我在 Web 服务器上运行它时,出现以下错误。

解析器错误消息:文件“/Views/Shared/Main.master.cs”不存在。

提到的文件在服务器上不存在,但文件“/Views/Shared/Main.master”存在。

我使用“发布”命令上传项目。是不是缺少cs文件?

是否有一些设置可以及时编译需要关闭?

0 投票
3 回答
896 浏览

.net - 为什么 .NET 开发人员提供 32 位/64 位版本的 .NET 程序集?

Evey 时不时地看到 x86 和 x64 版本的 .NET 程序集。请考虑以下用于 SharePoint 的 Web 部件。为什么开发人员不只提供一个版本并让 JIT 编译器整理其余部分?当我看到这些类型的产品时,是否只是开发人员决定使用像ngen这样的工具来创建本机映像以避免 JIT?

有人请在这里帮助我,我觉得我错过了一些值得注意的东西。

更新

根据我在下面得到的信息,提供 x86 和 x64 版本是因为以下一个或多个原因:

  1. 开发人员希望避免 JIT,并使用 ngen.exe 之类的工具针对给定架构创建了他的代码的本机映像。

  2. 该程序集包含特定于平台的 COM 调用,因此将其构建为 AnyCPU 毫无意义。在这些情况下,针对不同平台的构建可能包含不同的代码。

  3. 程序集可能包含使用 pinvoke 的 Win32 调用,它不会被 JIT 重新映射,因此构建应该以它绑定到的平台为目标。

0 投票
2 回答
509 浏览

performance - 紧凑框架和 JIT。可能需要多长时间

我们的应用程序有/有一个幻影延迟。这可以追溯到第一次触摸对象时对单例的初始化,并归咎于 JIT。我并不完全相信这一点,因为没有测量 JIT 的机制(或者有吗?),整个延迟是 7 秒。七秒的JIT?!?那会是真实的吗?

无论哪种方式,我都很难责怪那些无法轻易衡量的事情。不久前,当我看到这个问题时,我注释掉了一堆代码,并在应用程序的其他地方看到了 7 秒的延迟“跳跃”。暗示它以某种方式发生在某处的后台进程中(我猜这会将 JIT 视为潜在原因)。

如果有一个碰巧引用了许多其他对象的静态对象只是为了好玩,是否有人对 JIT 可能需要多长时间有一个经验法则?有没有人有进一步的参考,所以我可以了解更多关于 JIT 的信息,这样我就有机会了解 JIT 是否应该/应该归咎于这种减速?

0 投票
1 回答
1386 浏览

compiler-construction - 在使用 LLVM 编写 JIT 时,您将如何重用 C 操作码实现?

在 llvm 教程和示例中,编译器通过这样的调用输出 LLVM IR

但是很多解释器都是这样写的:

您将如何提取这些代码片段中的每一个以使用 LLVM 制作 JIT,而无需在 LLVM IR 中重新实现每个操作码?

0 投票
1 回答
6531 浏览

winforms - 如何防止即时调试器在 WebBrowser 控件中发生脚本错误时显示

我在我的 Winforms 应用程序中使用了 WebBrowser 控件。当我导航到导致 JavaScript 异常的 Url 时,会显示即时 (JIT) 调试器窗口,询问您是否要调试此异常:

(应用程序)中发生未处理的异常(“预期对象”)

即使我将WebBrowser 控件上的ScriptErrorsSuppressed设置为True ,也会发生这种情况(在发布模式下) 。我只能在安装 Visual Studio 时重现该问题,因此我假设 JIT 调试器捕获了异常,然后询问您是否要调试。

我怎样才能防止这种情况发生?我要做的是捕获异常或禁用我的应用程序的 JIT 调试,而无需重新配置 IE 或 Visual Studio。

我们的一些用户安装了 Visual Studio,这些 JIT 弹出窗口使我们的应用程序无法使用。