相关疑难解决方法(0)

java - system.nanoTime()运行得太慢了

我在我的应用程序中使用system.nanoTime,并计算相对于starttime的时间.
我的应用程序运行得非常好,直到我将其复制到新计算机上并且在其上纳米时间给了我较慢的值.

我写了一个简单的应用程序,以确保.
将纳米时间与系统时间进行比较.
它在除我的新计算机之外的其他计算机中显示相同的值.有什么建议?

这是我的代码:首先我有

private long initNanoTime = System.nanoTime();
private long initTime = System.currentTimeMillis();
Run Code Online (Sandbox Code Playgroud)

比我循环每秒运行一次的线程:

long timeUsingNanoTime = initTime + (System.nanoTime() - initNanoTime) / 1000000;
long timeUsingMilis = System.currentTimeMillis();
long nanotimeOffset = Math.abs(timeUsingNanoTime - timeUsingMilis);
if (nanotimeOffset < 100l) ? print("close") : print(far);
Run Code Online (Sandbox Code Playgroud)

编辑:我正在使用nano因为我需要处理纳秒时间内发生的ts并将其打印到日志中的纳米时间

java nanotime

0
推荐指数
1
解决办法
1294
查看次数

Java:计算对数组进行排序的时间

我有一些代码在数组中生成1000个数字然后对它们进行排序:

import java.util.Arrays;
import java.util.Random;


public class OppgA {
    public static void main(String[] args) {
        int[] anArray;
        anArray = new int[1000];
        Random generator = new Random();
        for(int i=0; i<1000; i++){
            anArray[i] = (generator.nextInt(1000)+1);
        }
        Arrays.sort(anArray);
        System.out.println(Arrays.toString(anArray));

    }

}
Run Code Online (Sandbox Code Playgroud)

现在我被要求计算并打印排序数组所花费的时间.我有什么线索可以做到这一点?我真的找不到太多可以帮助我解决的问题.

谢谢!

java arrays sorting timer

0
推荐指数
2
解决办法
4983
查看次数

Swift vs Java - 加速大阵列的速度

我刚刚在填充大数组时对Java和Swift进行了一次小的速度比较.我想出了以下结果:


迅速

import Foundation

let start = CFAbsoluteTimeGetCurrent()
var intArray = Int[]()
for var i = 0; i <= 300000; ++i {
    intArray.append(0)
}
let timeTaken = CFAbsoluteTimeGetCurrent() - start
println(timeTaken)
Run Code Online (Sandbox Code Playgroud)

结果:1.66182696819305


Java的

long start = System.currentTimeMillis();
int[] intArray;
int i = 0;
intArray = new int[300000];
for (i = 0; i < 300000; i++) {
    intArray[i]=0;
}
System.out.println("Time: "+(System.currentTimeMillis()-start)+"ms");
Run Code Online (Sandbox Code Playgroud)

结果:时间:3毫秒


这让我感到震惊;

  • Swift比Java快550倍......还是我使用了一些未优化的代码?

java arrays performance swift

0
推荐指数
2
解决办法
5781
查看次数

Java 中的流比原生 for 循环慢得多 - 为什么?

据我所知,流比传统的旧编程更快。

但是,当我运行以下代码时,结果出乎我的意料。

public class Application {
    public static void main(String[] args) {
        long startTime = System.nanoTime();
        int[] a = { 1, 2, 3, 4 };
        int m = Arrays.stream(a).reduce(Integer.MIN_VALUE, Math::max);
        long endTime = System.nanoTime();
        long totalTime = endTime - startTime;
        System.out.println(totalTime);

    }
}
Run Code Online (Sandbox Code Playgroud)

输出为:22857304

public class Application {
        public static void main(String[] args) {
        long startTime = System.nanoTime();
        int[] a = { 1, 2, 3, 4 };
        int e = a.length;
        int m = Integer.MIN_VALUE;
        for (int i = 0; …
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

0
推荐指数
1
解决办法
369
查看次数

标签 统计

java ×4

arrays ×2

java-8 ×1

java-stream ×1

nanotime ×1

performance ×1

sorting ×1

swift ×1

timer ×1