所以我正在编写一个程序,它从不同的文件中读取日志,按给定的状态对它们进行排序,并将它们输出到相应的文件中。有约。任何时候8-10k日志,我现在有这个wile循环来检查他们的状态:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3>wp_query 1 output:</h3>
<div class="wrap">
<div class="normal">Normal</div>
<div class="normal">Normal</div>
<div class="featured">A featured item</div>
<div class="normal">Normal</div>
<div class="featured">A featured item</div>
<div class="normal">Normal</div>
</div>
<h3>wp_query 2 output:</h3>
<div class="wrap">
<div class="normal">Normal</div>
<div class="normal">Normal</div>
<div class="normal">Normal</div>
<div class="normal">Normal</div>
</div>
我只是想知道这是否可以以任何方式得到改善,如果可能的话,即使稍微快一点也会很好
提前致谢
答案 0 :(得分:0)
您的if
语句可以融合到switch/case
语句中:
private void SortByStatus(TreeSet<Log> allLogs) {
Iterator<Log> iter = allLogs.iterator();
while(iter.hasNext()){
Log temp = iter.next();
switch(temp.getLogStatus()) {
case Log.Status.INFO :
INFOlogs.add(temp);
break;
case Log.Status.WARN :
WARNlogs.add(temp);
break;
case Log.Status.DEBUG :
DEBUGlogs.add(temp);
break;
case Log.Status.ERROR :
ERRORlogs.add(temp);
break;
default :
// do nothing? raise error?
}
}
性能提升将是最小的,但这将避免在日志级别为INFO
时执行4次测试(使用else if
语句也可以避免这种情况)。