首页 文章
  • 43 votes
     answers
     views

    如何在x86程序集中编写自修改代码

    我正在为最近一直在研究的业余爱好虚拟机编写JIT编译器 . 我知道有点汇编,(我主要是一个C程序员 . 我可以阅读大多数汇编参考我不理解的操作码,并编写一些简单的程序 . )但我很难理解这几个例子我在网上找到的自修改代码 . 这是一个这样的例子:http://asm.sourceforge.net/articles/smc.html 提供的示例程序在运行时进行了大约四种不同的修改,其中没有一个被清...
  • 23 votes
     answers
     views

    在程序集中编写JIT编译器

    我用C编写了一个虚拟机,它对非JIT VM有很好的性能,但我想学习一些新东西,并提高性能 . 我当前的实现只是使用一个开关从VM字节码转换为指令,并将其编译为跳转表 . 就像我说的那样,它的性能不错,但是我遇到了一个只能用JIT编译器克服的障碍 . 不久前我已经问了一个关于自我修改代码的类似问题,但我开始意识到我并没有问正确的问题 . 所以我的目标是为这个C虚拟机编写一个JIT编译器,我想在x86...
  • 100 votes
     answers
     views

    为什么JVM没有缓存JIT编译代码?

    Sun的规范JVM实现将一些非常复杂的优化应用于字节码,以便在代码运行几次后获得接近本机的执行速度 . 问题是,为什么这个编译的代码没有缓存到磁盘上以便在后续使用同一个函数/类时使用? 就目前而言,每次执行程序时,JIT编译器都会重新启动,而不是使用预编译版本的代码 . 当字节码基本上被解释时,不会添加此功能会大大增加程序的初始运行时间吗?
  • 3 votes
     answers
     views

    桌面上的JVM是否使用JIT编译?

    我总是遇到声称Java被解释的文章 . 我知道Oracle的HotSpot JRE提供即时编译,但对于大多数桌面用户来说情况如此吗?例如,如果我通过以下方式下载Java:http://www.java.com/en/download,这是否包含JIT编译器?
  • 2 votes
     answers
     views

    错误在macOS上安装Composer(JIT编译失败)

    当我在macOS终端中运行 composer --version 时,我收到以下错误: PHP警告:preg_match():JIT编译失败:第755行的phar:///usr/local/bin/composer.phar/vendor/symfony/console/Application.php中没有更多内存 Warning: preg_match(): JIT compilation ...
  • 9 votes
     answers
     views

    JVM / JAVA中的预取指令

    是否有任何Java语言或JVM中的软件预取指令,如GCC中提供的__builtin_prefetch
  • 390 votes
     answers
     views

    .NET JIT潜在错误?

    在Visual Studio中运行发行版并在Visual Studio外部运行发行版时,以下代码提供了不同的输出 . 我正在使用Visual Studio 2008并以.NET 3.5为目标 . 我也尝试过.NET 3.5 SP1 . 当在Visual Studio外部运行时,JIT应该启动 . 或者(a)C#中有一些微妙的东西我缺少或者(b)JIT实际上是错误的 . 我怀疑JIT可能出错,但我已...
  • 32 votes
     answers
     views

    为什么用JIT编译器(在app . 性能方面)很难击败AOT编译器?

    我认为JIT编译器最终将在编译代码的性能方面击败AOT编译器,因为JIT具有固有的优势(可以使用仅在运行时可用的信息) . 一个论点是AOT编译器可以花更多时间编译代码,但服务器VM也可能花费大量时间 . 我确实理解JIT在某些情况下似乎确实击败了AOT编译器,但在大多数情况下它们似乎仍然落后 . 所以我的问题是,阻止JIT编译器击败AOT编译器的具体而棘手的问题是什么? EDIT:一些常见的论点...
  • 4 votes
     answers
     views

    为什么Angular 2有模板的JiT编译?

    在运行时期间在浏览器中对Angular 2 HTML模板进行JiT编译的理由是什么? 我知道,_742291存在解决这个问题的方法,它大大提高了启动性能 . 我不是在问我是否应该使用JiT或AoT编译 . TypeScript编译器能够编译JSX,这是否意味着,有一天我们得到相同的支持Angular 2模板作为 @angular/compiler-cli 的替代?
  • 4 votes
     answers
     views

    Angular 2延迟加载模块使用aot和不同的管道

    我正在一个大型应用程序中工作,我们希望有lazyload模块以提高性能,但我们希望使用AOT(性能),同时我们希望保留单独的管道,以便仅部署更改的模块与其他人没有任何依赖关系 . 我们正在几个专注于不同模块的团队中工作 . 在经过大量调查后,我找不到任何办法 . 有没有人有同样的问题? 一切都适用于JIT,在不同的管道中有不同的javascript文件,我们尝试在AOT中只编译一个构建过程中的所有...
  • 0 votes
     answers
     views

    Angular2:JIT和AOT编译器之间的区别以及哪个更适合构建angular2应用程序? [重复]

    这个问题在这里已有答案: Angular 2 : Just-in-Time (JiT) vs Ahead-of-Time (AoT) compilation 7个答案 What is the difference between Angular AOT and JIT compiler 3个答案 在阅读Angular2文档时,我开始知道: Angular提供了两种编译应用程序的方法: ...
  • 20 votes
     answers
     views

    有没有办法查看由JITter为给定的C#/ CIL生成的本机代码?

    在对this answer的评论中(建议在整数乘法/除法中使用位移运算符,以提高性能),我询问这实际上是否会更快 . 在我的脑海中有一个想法,在某种程度上,某些东西将足够巧妙地解决 >> 1 和 / 2 是相同的操作 . 但是,我现在想知道这是否真的是真的,如果是,它会发生在什么级别 . 测试程序为两个方法产生以下比较CIL( optimize 开启),分别对其参数进行划分和移位: I...
  • 2 votes
     answers
     views

    JVM JIT是否生成系统调用指令?

    我想知道Java代码如何进行系统调用,JIT编译器是直接生成系统调用指令,还是只调用libc函数(或其他基本库函数)?
  • 1 votes
     answers
     views

    angular 6编译过程流程和浏览器在角度应用程序编译中的作用

    我已经对角度编译过程做了很多研究,但无法解决我的疑惑 . 角度编译中aot和jit之间有什么区别? AOT是否将我们的html转换为javascript或打字稿?在typescript编译器和角度编译器之间有什么区别吗?什么是编译过程的流程以及浏览器在此过程中的作用是什么?
  • 374 votes
     answers
     views

    Java JIT在运行JDK代码时是否作弊?

    我正在对一些代码进行基准测试,即使使用完全相同的算法,也无法像_191544那样快速运行 . 所以我将java.math.BigInteger source复制到我自己的包中并尝试了这个: //import java.math.BigInteger; public class MultiplyTest { public static void main(String[] args) { ...
  • 87 votes
     answers
     views

    任何JVM的JIT编译器都会生成使用向量化浮点指令的代码吗?

    假设我的Java程序的瓶颈确实是计算一堆矢量点积的一些紧密循环 . 是的我已经分析过,是的,它是瓶颈,是的,它是重要的,是的,这就是算法的方式,是的,我运行Proguard来优化字节码等 . 这项工作基本上是点产品 . 在,我有两个 float[50] ,我需要计算成对产品的总和 . 我知道存在处理器指令集以快速和批量地执行这些操作,如SSE或MMX . 是的我可以通过在JNI中编写一些本机代码来...
  • 27 votes
     answers
     views

    如果JIT正在执行到机器指令的字节码转换,那么JVM的用途是什么

    我真的很难理解以下事情 以前我知道: 编译Java程序时将生成 .class 文件 . 在那个代码是以字节的形式 . 然后 JVM 将该字节代码转换为机器可理解的格式 . 现在我在one of the questions in SO看到了 即时(JIT)编译器是运行时解释器的一个特性,它不是每次调用方法时都解释字节码,而是将字节码编译成运行机器的机器代码指令 . 所以这里JIT将字节码转换为机...
  • 0 votes
     answers
     views

    AOT与JIT编译的Angular 5绘图问题

    我在Angular 5中有一个奇怪的问题 . 当我使用JIT时模板被绘制得很好 . 很好,我的意思是模板的内容可以立即呈现,没有任何问题或延迟 . 另一方面,使用AOT(具有相同的确切代码),在我调整浏览器窗口大小或在页面中执行某些操作(例如删除菜单项)之前,我的模板不会呈现 . 看起来模板需要强制页面刷新/重绘才能呈现? 我在Angular的ngAfterViewInit中加载数据 . 同样在不...
  • 7 votes
     answers
     views

    同一项目的角度AOT和JIT

    在angular5上,我尝试对我的大部分模块/组件进行相同的项目AOT编译......但我有一部分需要进行JIT编译 . 对于第二部分,HTML来自Ajax请求,并包含一些必须由angular编译的组件标记 . 要管理这部分,我使用看起来像这样的指令: export class ArticleLiveDirective implements OnInit, OnChanges, OnDestroy...
  • 1 votes
     answers
     views

    Android Instrumentation测试问题:调试与发布模式

    为了自动化测试,我们正在考虑Android仪器测试 . 但是,我们担心如果将单元测试置于调试模式,性能可能会有很大差异 . 在做了一些搜索后,似乎没有明确的答案 . 因此,我们需要对以下几点作出一些澄清 . Eclipse / ADT是否使用相同的编译器优化选项编译项目,无论是处于调试模式还是发布模式? 由Eclipse / ADT生成的apk始终处于调试模式(无论是“run as”还是“...

热门问题