- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在 Java6 中,快速排序和合并排序都在 Arrays#sort
中使用,分别用于原始数组和对象数组。在 Java7 中,这些都已更改为 DualPivotQuicksort和蒂姆索特。
在新快速排序的源代码中,以下注释出现在几个地方(例如第 354 行):
/*
* Here and below we use "a[i] = b; i++;" instead
* of "a[i++] = b;" due to performance issue.
*/
这是一个性能问题吗?编译器不会将它们简化为相同的东西吗?
更广泛地说,我自己调查这个问题的好策略是什么?我可以运行基准测试,但我对分析编译代码中的任何差异更感兴趣。但是,我不知道使用什么工具等。
最佳答案
这只是一般问题的答案。
您可以查看字节码并尝试了解其中的差异。 IE。你可以用 a[i] = b; 给自己写一个简单的例子。 i++;
和 a[i++] = b;
看看有什么区别。
显示字节码的最简单方法是 javap
程序(应该包含在您的 JDK 中)。使用 javac SomeFile.java
编译代码并在代码上运行 javap:javap -c SomeFile
(-c 开关告诉 javap 为文件中的每个方法输出字节码)。
如果您使用的是 eclipse,您也可以尝试 this one .
关于Java 7 排序 "optimisation",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6676836/
我注意到在 phpMyAdmin 中,您可以在表上单击“优化”,它会运行: OPTIMIZE TABLE table_name 这实际上是做什么的? 我是否应该每天运行一些 cron 作业来在我的表上
我有一个 Product 模型,带有一个 description 属性。创建新产品时,我需要查找在描述中有相应引用的产品,并在它们之间创建一个 Link 对象。 例子: Product 1 Descr
我收到了来自客户端的批量写入请求,比如说大约 20 个 key 。 我可以将它们批量写入 C*,也可以以异步方式单独写入它们,然后等待将来完成它们。 根据文档,批量写入似乎不是一个不错的选择,因为我的
我试过使用 scalac -optimise版本 2.7.7。当时我从未得到任何性能改进,但编译时间更长。 Scala 2.9.0 的情况是否更好?该标志目前涵盖哪些优化? 最佳答案 奇怪,居然还有s
第一个问题,感谢您的指导。我目前正在自学 Android 开发,并已将我的应用程序(构建后通过 Studio)安装到我自己的手机上。 我的手机时不时会自行重启(不是查询 - 这些事情会发生)。 在这些
我在 PostgreSQL 数据库中有一个名为 feeds_up 的表。看起来像: | feed_url | isup | hasproblems | observed timestamp with
在 Java6 中,快速排序和合并排序都在 Arrays#sort 中使用,分别用于原始数组和对象数组。在 Java7 中,这些都已更改为 DualPivotQuicksort和蒂姆索特。 在新快速排
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我在使用 scipy 的 curve_fit 参数时遇到了一个问题。我最初复制了文档建议的代码。然后我稍微改变了方程,效果很好,但是增加了 np.linspace,整个预测最终变成了一条直线。有什么想
我有一个包含用户名的大列表(大约 60,000 个字符串)。每个用户名代表一次提交。有些用户只提交了一次,即他们是“一次性用户”,因此他们的用户名在此列表中仅出现一次。其他人进行了多次提交(回访用户)
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我有一个表(超过 200 万条记录)用于跟踪分类帐。有的条目加分,有的条目减分(只有两种条目)。减去点数的条目始终引用使用 referenceentryid 从中减去的(添加)条目。添加的条目在 re
假设我有两个表 CREATE TABLE a ( a_a BIGINT, a_b BIGINT, a_c BIGINT, a_someval NUMERIC ); CREATE TAB
我有这个问题: SELECT count(member_id) FROM member_favorite_business WHERE business_id=3912 AND member_id=4
我正在尝试使用 Scipy.Optimise Curve_fit 按照简单示例 here 对某些数据进行指数拟合。 . 脚本运行没有错误,但是配合很糟糕。当我在 curve_fit 的每一步查看 po
请帮忙。我需要优化我的冒泡排序算法,以便获得比未优化的冒泡排序更少的总比较。我设法只创建了“普通冒泡排序”(仅从左到右行进): def bubbleSort(values): n = len(
假设我们有一个 [Valuations] 表,其中包含每个日期和每个基金的多个值: -FundId -验证日期 -值1 -值 2... 主键显然是FundId+ValDate。 我还索引了 ValDa
我有一个 MEAN 应用程序客户端位于 anular2 构建 webpack 中。 当我从服务器提供 index.html 进行初始请求时,在生产应用程序时,由于 vendor 模块 JS 文件超过
这个问题已经有答案了: How to detect a mobile device with JavaScript? (21 个回答) How to detect a page request is
我想在 Flux 中使用 SGD 优化器,如 Julia Academy 使用 Flux.jl 进行深度学习的教程中所示。 This 他们提供的笔记本,他们在其中使用 SGD 优化器: opt = S
我是一名优秀的程序员,十分优秀!