Java 读取xml文件的时间到了

Java 读取xml文件的时间到了,java,xml,sax,saxparser,Java,Xml,Sax,Saxparser,我想知道解析XML文件所花的时间。我正在使用SAX解析器。我不想知道它花了多长时间(解析完成后),因此我不能使用System.nanoTime()或System.currentTimeMillis() 如何提前估计解析所需的时间?(可能根据文件大小而定)这是一个棘手的问题。简单的回答是:你无法提前知道具体需要多长时间 您最好的选择可能是通过运行一些基准测试来估计需要多长时间来解析1K文件、10K文件、100K文件和1MB文件,并在它们之间进行插值。(假设1MB是一个合理的上限) 但是,此估计值仅

我想知道解析XML文件所花的时间。我正在使用SAX解析器。我不想知道它花了多长时间(解析完成后),因此我不能使用System.nanoTime()或System.currentTimeMillis()


如何提前估计解析所需的时间?(可能根据文件大小而定)

这是一个棘手的问题。简单的回答是:你无法提前知道具体需要多长时间

您最好的选择可能是通过运行一些基准测试来估计需要多长时间来解析1K文件、10K文件、100K文件和1MB文件,并在它们之间进行插值。(假设1MB是一个合理的上限)


但是,此估计值仅在特定硬件/软件配置的计算机上有效。你不能用有意义的方式概括它。

这是一个棘手的问题。简单的回答是:你无法提前知道具体需要多长时间

您最好的选择可能是通过运行一些基准测试来估计需要多长时间来解析1K文件、10K文件、100K文件和1MB文件,并在它们之间进行插值。(假设1MB是一个合理的上限)


但是,此估计值仅在特定硬件/软件配置的计算机上有效。您无法以有意义的方式概括它。

您可以做的是,获取一个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);
}
int testcases=10;//将其配置为查找平均值

对于(int i=0;i您可以做的是,获取一个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);
}
int testcases=10;//将其配置为查找平均值

对于(int i=0;我自己读取文件,并为所用的时间添加一些时间。是的,这就是我现在拥有的,读取文件并检查所用的时间,但我想知道是否有任何探查器或任何东西?自己读取文件,并为所用的时间添加一些时间。是的,这就是我现在拥有的,读取文件并检查花了很长时间,但我想知道是否有分析器或其他东西?除此之外,请记住,有时您的代码可能有一些函数,这取决于处理的节点的增量数量。因此,在分析时,请确保没有o(n)或者在代码中包含更多函数。可以解析50000个,但节点越多,处理速度越低!此外,请记住,有时代码可能会根据处理的节点数量的增加而具有一些函数。因此,在分析时,请确保没有o(n)或者在代码中包含更多函数。可以解析50000个,但节点越多,处理速度越低!