Questions tagged «jmh»

2
为什么Java 7中的StringBuilder#append(int)比Java 8中的快?
在调查使用以及将整数原语转换为字符串的辩论时"" + n,Integer.toString(int)我写了这个JMH微基准测试: @Fork(1) @OutputTimeUnit(TimeUnit.MILLISECONDS) @State(Scope.Benchmark) public class IntStr { protected int counter; @GenerateMicroBenchmark public String integerToString() { return Integer.toString(this.counter++); } @GenerateMicroBenchmark public String stringBuilder0() { return new StringBuilder().append(this.counter++).toString(); } @GenerateMicroBenchmark public String stringBuilder1() { return new StringBuilder().append("").append(this.counter++).toString(); } @GenerateMicroBenchmark public String stringBuilder2() { return new StringBuilder().append("").append(Integer.toString(this.counter++)).toString(); } @GenerateMicroBenchmark public …

2
为什么返回Java对象引用比返回原语要慢得多
我们正在开发对延迟敏感的应用程序,并且已经对各种方法(使用jmh)进行了微基准测试。在对基准测试方法进行微基准测试并满意结果之后,我实现了最终版本,但发现最终版本比我基准测试的速度慢3倍。 罪魁祸首是实现的方法返回一个enum对象而不是一个对象int。这是基准代码的简化版本: @OutputTimeUnit(TimeUnit.MICROSECONDS) @State(Scope.Thread) public class ReturnEnumObjectVersusPrimitiveBenchmark { enum Category { CATEGORY1, CATEGORY2, } @Param( {"3", "2", "1" }) String value; int param; @Setup public void setUp() { param = Integer.parseInt(value); } @Benchmark public int benchmarkReturnOrdinal() { if (param < 2) { return Category.CATEGORY1.ordinal(); } return Category.CATEGORY2.ordinal(); } @Benchmark public …
75 java  low-latency  jmh 

4
为什么在Scala中压缩速度比压缩速度快?
我已经编写了一些Scala代码以对集合执行按元素操作。在这里,我定义了两种执行相同任务的方法。一种方法使用zip,另一种方法使用zipped。 def ES (arr :Array[Double], arr1 :Array[Double]) :Array[Double] = arr.zip(arr1).map(x => x._1 + x._2) def ES1(arr :Array[Double], arr1 :Array[Double]) :Array[Double] = (arr,arr1).zipped.map((x,y) => x + y) 为了比较这两种方法的速度,我编写了以下代码: def fun (arr : Array[Double] , arr1 : Array[Double] , f :(Array[Double],Array[Double]) => Array[Double] , itr : Int) ={ val t0 = System.nanoTime() …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.