Java JIT 循环展开策略?

2023-11-26

JIT 的循环展开策略是什么?或者,如果没有简单的答案,那么有什么方法可以检查在循环中何时/何地执行循环展开?

GNode child = null;
for(int i=0;i<8;i++){
   child = octree.getNeighbor(nn, i, MethodFlag.NONE);
   if(child==null)
      break;
   RecurseForce(leaf, child, dsq, epssq);
}

基本上,我上面的一段代码具有静态迭代次数(八次),当我按原样保留 for 循环时,它会表现得很糟糕。但是当我手动展开循环时,它的效果明显更好。我有兴趣了解 JIT 是否确实展开了循环,如果没有,那么为什么。


IfJVM展开循环可能最好的答案是实际上打印生成的程序集。请注意,这要求您的代码实际上作为热点执行(即 JVM 认为它值得进行昂贵的优化)。

WhyJVM 以某种方式做出决定是一个更难的问题,可能需要深入分析 JIT 代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java JIT 循环展开策略? 的相关文章

  • 清理码头 - 删除“不必要”的东西

    我习惯用Jetty http jetty codehaus org jetty 作为我的网络容器 我对我做了什么安装步骤得到原始的焦油球并且清理一些目录和文件从中 我在这里想提出的是 您通常从 Jetty 中删除什么以在生产 登台环境中使用
  • 使用 GWT CellTableBuilder 构建树表

    Is it possible to build a tree table like this http www sencha com examples ExamplePlace basictreegrid with the new Cell
  • Grails 2.3.0 自动重新加载不起作用

    我最近将我们的项目升级到 grails 2 3 0 一切工作正常 除了每当我更改代码时自动重新加载都无法工作的问题 这包括所有项目工件 控制器 域 服务 gsps css 和 javascript 文件 我的旧版本 grails 可以正常工
  • 来自数据库的 jfreechart 散点图

    如何使用java中的jfreechart绘制mysql数据库表中数据的散点图 我使用过 Swing 库 任何链接都会有帮助 我搜索了谷歌但找不到理解的解决方案 如果您有代码 请提供给我 实际上我确实做了条形图并使用 jfreechart 绘
  • 如何在 JSP 中导入类?

    我是一个完全的JSP初学者 我正在尝试使用java util List在 JSP 页面中 我需要做什么才能使用除以下类之外的类java lang 使用以下导入语句进行导入java util List 顺便说一句 要导入多个类 请使用以下格式
  • 主线程如何在该线程之前运行?

    我有以下代码 public class Derived implements Runnable private int num public synchronized void setA int num try Thread sleep 1
  • 如何在android中设置多个闹钟,在这种情况下最后一个闹钟会覆盖以前的闹钟

    我正在开发一个Android应用程序 用户可以在其中设置提醒时间 但我在以下代码中遇到一个问题 即最后一个警报会覆盖之前的所有警报 MainActivity java public void setreminders DatabaseHan
  • Java 服务器-客户端 readLine() 方法

    我有一个客户端类和一个服务器类 如果客户端向服务器发送消息 服务器会将响应发送回客户端 然后客户端将打印它收到的所有消息 例如 如果客户端向服务器发送 A 则服务器将向客户端发送响应 1111 所以我在客户端类中使用 readLine 从服
  • Java 8 中函数式接口的使用

    这是来自的后续问题Java 8 中的 双冒号 运算符 https stackoverflow com questions 20001427 double colon operator in java 8其中 Java 允许您使用以下方式引用
  • 列表应该如何转换为具体的实现?

    假设我正在使用一个我不知道源代码的库 它有一个返回列表的方法 如下所示 public List
  • Java - 返回值是否会中断循环?

    我正在编写一些基本上遵循以下格式的代码 public static boolean isIncluded E element Node
  • Spring Security OAuth2简单配置

    我有一个简单的项目 需要以下简单的配置 我有一个 密码 grant type 这意味着我可以提交用户名 密码 用户在登录表单中输入 并在成功时获得 access token 有了该 access token 我就可以请求 API 并获取用户
  • iOS App Store ExecutionEngineException 尝试 JIT 编译

    我有一个非常尴尬的问题 我已经为 iOS 构建了我的应用程序 并在所有模拟器上对其进行了测试 并且运行良好 我已将其安装在设备 iPhone 6 plus 上 效果也很好 然而 当我将其提交到应用商店时 反馈是它在所有设备上启动时都会崩溃
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • 如何在 Eclipse Java 动态 Web 项目中使用 .properties 文件?

    我正在 Eclipse 中开发动态 Web 项目 我创建了一个 properties 文件来存储数据库详细信息 用户名 密码等 我通过右键单击项目和 New gt File 添加它 我使用了Java util包Properties类 但它不
  • JVM:是否可以操作帧堆栈?

    假设我需要执行N同一线程中的任务 这些任务有时可能需要来自外部存储的一些值 我事先不知道哪个任务可能需要这样的值以及何时 获取速度要快得多M价值观是一次性的而不是相同的M值在M查询外部存储 注意我不能指望任务本身进行合作 它们只不过是 ja
  • ARM NEON 矢量化失败

    我想在 ARM cortex a9 上启用 NEON 矢量化 但在编译时得到以下输出 未矢量化 不支持相关 stmt D 14140 82 D 14143 77 D 14141 81 这是我的循环 void my mul float32 t
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • Hibernate 和可序列化实体

    有谁知道是否有一个框架能够从实体类中剥离 Hibernate 集合以使它们可序列化 我查看了 BeanLib 但它似乎只进行实体的深层复制 而不允许我为实体类中的集合类型指定实现映射 BeanLib 目前不适用于 Hibernate 3 5
  • Java &= 运算符应用 & 或 && 吗?

    Assuming boolean a false 我想知道是否这样做 a b 相当于 a a b logical AND a is false hence b is not evaluated 或者另一方面 这意味着 a a b Bitwi

随机推荐

  • Eclipse Android SDK - 构建工作区时出错

    我已使用 Android SDK Manager 更新了我的软件包 并单击 帮助 gt 检查更新并更新了已安装的插件 提示我重新启动eclipse 现在重新启动后 我收到以下错误代码 Building workspace has encou
  • 在 Swift SpriteKit 项目中播放声音?

    当我运行这段代码时 runAction SKAction playSoundFileNamed Click mp3 waitForCompletion false 我的应用程序崩溃了 由于未捕获的异常 NSInvalidArgumentEx
  • 如何使 jQuery UI 'draggable()' div 可拖动用于触摸屏?

    我有一个 jQuery 用户界面draggable 适用于 Firefox 和 Chrome 用户界面概念基本上是单击以创建 便利贴 类型的项目 基本上 我点击或点击div everything 100 高和宽 监听点击 并显示输入文本区域
  • 如何在每个 jupyter Notebook 内核之前运行 Python 代码

    假设我有一个代码片段 我想在每次打开 jupyter 笔记本时运行 在我的例子中 它打开 Spark 连接 假设我将该代码保存在 py 脚本中 启动 py sc This is a spark connection 我希望每次打开内核时都能
  • Spark Scala - java.util.NoSuchElementException 和数据清理

    我有过一次之前有类似问题 但我正在寻找一个普遍的答案 我在用火花核心LP获取电子邮件的情绪分数 有时 sentiment 在某些输入上崩溃 可能太长 可能有意外的字符 它没有告诉我它在某些情况下崩溃 只是返回Column sentiment
  • 产品处于应用程序计费托管和非托管状态

    我对 android 很陌生 我正在研究应用程序内计费 我的问题是添加应用程序内产品时托管和非托管状态的主要目的是什么 任何人都可以告诉我托管状态有什么用 非托管状态有什么用 托管和非托管之间的主要区别在于 托管购买只能购买一次 并且与购买
  • 何时更新审核字段? DDD

    我有一个会议对象 Meeting id name time CreatedBy UpdatedBy and a MeetingAssignee id MeetingID EmployeeId CreatedBy UpdatedBy 会议作为
  • Python-Wand 序列未从内存中清除

    如果我执行以下操作 for root dirs files in os walk myDir for myFile in files with Image filename myFile as img with Image image im
  • 如何保存深色/浅色模式切换的 cookie?

    我正在使用W3Schools 深色模式切换对于我的网站 它运行得很好 但在我刷新页面后 就会显示默认视图 日间模式 This is 网页测试页 如何设置 cookie 以便如果用户选择深色模式 则页面默认以深色模式打开 另外 如何将其应用于
  • Android:带参数的 Http post 不起作用

    我需要创建一个带有参数的 HTTP POST 请求 我知道有很多例子 我尝试过使用 HTTPparams NameValuePair 等 但似乎无法获得服务器的正确格式 Server Type REST based API utilizin
  • 错误:Android 源在 Eclipse 中构建

    在尝试将 android 源添加到 eclipse 时 我收到以下错误 Project android is missing required library out target common obj JAVA LIBRARIES gsf
  • 有效绘制树木的算法?

    我需要用 C 绘制一个公司结构树 有点像家谱 所有的辅助代码都在那里 它是彩色的 互动的 奇特的 唯一的麻烦是实际决定每个节点放置位置的算法给我带来了很大的悲伤 目前 盒子的大小为 100x50 我有一个名为StaffNode它代表特定 x
  • 我想更改所选的每个城市或子城市的图表

    我用 AngularJS 开发了一个简单的应用程序 我想基于这个网站添加一个简单的图表Js 图表 这是我的数据 json name city A elements id c01 name name1 price 15 qte 10 id c
  • OOP 的重点是什么?

    Locked 这个问题及其答案是locked因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 据我所知 尽管在 OOP 教育 语言和工具上花费了数百万甚至数十亿美元 但 OOP 并没有提高开发人员的生产力或软件可靠性 也没有
  • ASP.NET core 中的密码重置令牌提供程序 - 未找到 IUserTokenProvider

    Hello 为了进行密码重置工作 我需要将 IUserTokenProvider 实例注册到 DI 中 如果没有它 我会在以下行中得到异常 var result await userManager ResetPasswordAsync us
  • 如何从 Ruby 可枚举中获取列表?

    我知道Python的list可以消耗生成器中所有元素的方法 Ruby 中有类似的东西吗 我知道 elements enumerable each i elements lt lt i 我也知道inject选择 有现成可用的方法吗 Enume
  • 如何创建以用户名作为子域名的子域?

    我提到了其他相关问题 但我不清楚 请解释一下 如何在 PHP 中创建子域 例子 http www domainname com page php usname sundar 我想更改此链接 http sundar domainname co
  • Google Play 开发者控制台与 Crashlytics 控制台中的崩溃

    我们在 Google Play 商店中有一个 Android 应用程序 应用程序的崩溃和 ANR 部分仅列出了少数几个最严重的崩溃 而我们的 Crashlytics 控制台列出了一组完全不同的崩溃 我的意思是 Crashlytics 中只有
  • Beautiful Soup 4 find_all 找不到 Beautiful Soup 3 找到的链接

    我注意到一个非常烦人的错误 BeautifulSoup4 包 bs4 经常会发现比以前版本更少的标签 包 BeautifulSoup 这是该问题的一个可重现的实例 import requests import bs4 import Beau
  • Java JIT 循环展开策略?

    JIT 的循环展开策略是什么 或者 如果没有简单的答案 那么有什么方法可以检查在循环中何时 何地执行循环展开 GNode child null for int i 0 i lt 8 i child octree getNeighbor nn