我想知道解析XML文件所花费的时间。我正在使用SAX Parser。我不想知道它花了多长时间(解析完成后)因此我不能使用System.nanoTime()或System.currentTimeMillis()
如何预先估算解析所需的时间? (可能基于文件的大小)
答案 0 :(得分:3)
这是一个棘手的问题。简短的回答是:你无法事先知道它将要花多长时间。
您最好的选择可能是通过运行一些基准来估计需要多长时间来解析一个1K文件,一个10K文件,一个100K文件和一个1MB并在它们之间进行插值。 (假设1MB是合理的上限)
但是,此估算仅适用于您的计算机上的特定硬件/软件配置。你无法以有意义的方式概括它。
答案 1 :(得分:1)
你可以做的是,取一个样本1 MB文件并解析它。记录时间如下:
int testcases = 10; // Configure it to find the average
for(int i=0;i<testcases;i++)
{
long startTime = System.currentTimeMillis();
// Call a method that performs parsing of the XML.
// Method Returns once parsing is done.
long endTime = System.currentTimeMillis();
long delta = endTime - startTime;
System.out.println("Average Time taken: " + delta);
}
通过以上所述,可以得出平均花费的时间。