java我的代码需要很长时间才能运行,但是我的程序告诉我不是这样
因此,我目前正在尝试测试用不同数量的数据填充AVLTree需要多长时间。当向树中添加少量数据(如16个对象或2824个对象)时,我的程序能够在几秒钟内运行(我使用手机秒表记录时间)。然而,当我向树中添加11000个对象时,大约需要28秒,当我尝试向树中添加250000个对象时,我的程序似乎永远无法完成运行
在程序中,我添加了一个变量,该变量在代码开始时存储当前时间,另一个变量在代码结束时也存储当前时间,这样我就可以大致计算程序运行了多长时间。但有趣的是,当我用2824个对象填充AVLTree时,它表示运行大约需要1.56秒,而当我用11000个对象填充AVLTree时,运行显然需要相同的时间
使用秒表查看运行时间约为28秒,而我的程序告诉我运行时间约为1.56秒,这让我很难看到问题的真正原因。顺便说一下,我目前使用的编译器是EclipseJavaOxy
public class AVLTreeTester {
public static void main(String[] args) {
long start = System.currentTimeMillis();
AVLTree<IPAddress, URL> avlTree = new AVLTree<IPAddress, URL>();
BufferedReader br = null;
String line;
try {
br = new BufferedReader(new FileReader("src/data/top-
250k.txt"));
while ((line = br.readLine()) != null) {
String[] values = line.split("\t");
IPAddress newIP = new IPAddress(values[1]);
URL newURL = new URL(values[0]);
avlTree.add(newIP, newURL);
}
}catch (IOException e) {
e.printStackTrace();
}
avlTree = null;
long stop = System.currentTimeMillis();
double time = stop - start / 1000;
System.out.println("Took: " + time + " second(s)");
}
}
共 (0) 个答案