0

Point我正在尝试在这个以其中一些方法命名的对象类上运行这个测试——以提高计算速度。它在其构造函数中接受三个输入/变量Point(String, double, double)

我有这个想法,但我似乎无法将其放入代码中:我想在 A 和 C 之间使用 创建一个随机数Math.random,将数字放入一个变量(对于这三个输入中的每一个)并使用它来创建一个数组对象,然后循环遍历数组,每次创建新实例。

我下面的代码很乱,但任何帮助将不胜感激。

public class Test{
    long startTime = System.currentTimeMillis();
    long total = 0;
    for (int i = 0; i < 10000000; i++) {
        total += i;
        randomValue1 = (int)(Math.random()*10); 
        randomValue2 = (int)(Math.random()*10);
        Point[] instances = new Point[numberOfElements];
        for (int i=0; i<instances.length; i++) {
            instances[i] = new Point( ,randomValue1, randomValue2);
        }
    }
    long stopTime = System.currentTimeMillis();
    long elapsedTime = stopTime - startTime;
    System.out.println(elapsedTime);
}
4

1 回答 1

3

由于 JIT 的优化,不仅currentTimeMillis没有足够的分辨率,而且手动编写微基准测试也很棘手且容易出错。您应该考虑改用Caliper等微基准框架。

于 2013-09-22T21:55:14.557 回答