小编And*_*agy的帖子

Java BigInteger 源代码性能基准测试

我试图弄清楚为什么 Java 的 BigInteger 乘法基准始终比使用复制到我的项目的 BigInteger.java 源代码中的实例快 3 倍。使用 jmh 运行基准测试。这是一个示例输出,请注意,加法的运行效果大致相同。

\n
Benchmark                                 Mode  Cnt       Score       Error  Units\nBenchmarkTest.javaBigInteger_add         thrpt    5  856062.338 \xef\xbf\xbd 34040.923  ops/s\nBenchmarkTest.sourceBigInteger_add       thrpt    5  842421.746 \xef\xbf\xbd 39630.112  ops/s\nBenchmarkTest.javaBigInteger_multiply    thrpt    5  525649.635 \xef\xbf\xbd 15271.083  ops/s\nBenchmarkTest.sourceBigInteger_multiply  thrpt    5  133944.766 \xef\xbf\xbd  1832.857  ops/s\n
Run Code Online (Sandbox Code Playgroud)\n

我这样做的原因是试图将其中的一部分移植到 Kotlin,我注意到基准测试有点慢。为了看看它是否与 Kotlin 有关,我从图片中删除了它,并在纯 java 中执行了所有操作,得到了完全相同的结果。如果源代码/算法完全相同,为什么这个基准测试会有如此大的差异?

\n

使用此代码的项目: https://github.com/asheragy/BigInteger-Benchmark

\n

java math performance benchmarking biginteger

2
推荐指数
1
解决办法
130
查看次数

标签 统计

benchmarking ×1

biginteger ×1

java ×1

math ×1

performance ×1