Java正则表达式性能指标?
给定以下代码,如何获取正则表达式的度量?Matcher和Pattern是否提供了对匹配/查找性能的可见性,或者我是否需要手动计算 大概是这样的:Java正则表达式性能指标?,java,regex,Java,Regex,给定以下代码,如何获取正则表达式的度量?Matcher和Pattern是否提供了对匹配/查找性能的可见性,或者我是否需要手动计算 大概是这样的: String text = "...some really big string of containing a pattern to match..."; Pattern PATTERN = Pattern.compile("<the pattern to match>", Pattern.
String text = "...some really big string of containing a pattern to match...";
Pattern PATTERN = Pattern.compile("<the pattern to match>",
Pattern.DOTALL);
Matcher m = PATTERN.matcher(text);
if (m.find()) {
// ????? How long did find() take to match the pattern ?????
}
String text=“…包含要匹配的模式的一些非常大的字符串…”;
Pattern=Pattern.compile(“”,
模式(DOTALL);
Matcher m=模式匹配器(文本);
if(m.find()){
//???find()需要多长时间来匹配模式?????
}
回答您的问题,如果没有访问性能指标的方法,那么就没有可见性。Java没有任何为某种目的隐藏特殊方法的概念,这些方法可以通过某种特殊的技巧秘密地访问
如果需要性能指标,只需使用
System.currentTimeMillis()
(或者如果需要更高的分辨率,System.nanoTime()
)并注意开始和结束方法之间的时间差。您如何测量任何其他方法的时间?设置时间值=立即,然后找到该值与执行该方法的时间+立即之间的差值。你会怎么做?