[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[mylar-dev] Re: Improve InterestFilter#containsMylarInterestFilter performance
|
We can use JavaSE5 feature as below
private boolean containsMylarInterestFilter(StructuredViewer viewer) {
ViewerFilter[] filters = viewer.getFilters();
for (ViewerFilter filter : filters) {
if (filter instanceof InterestFilter) {
return true;
}
}
return false;
}
2006/2/18, bin Wang <wangbin777@xxxxxxxxx>:
I find below method is not much good and we can improve its performance
private boolean containsMylarInterestFilter(StructuredViewer viewer) {
boolean found = false;
for (int i = 0; i < viewer.getFilters().length; i++) {
ViewerFilter filter = viewer.getFilters()[i];
if (filter instanceof InterestFilter)
found = true;
}
return found;
}
Below are the problems:
problem 1) calling viewer.getFilters() is very heightweight
problem 2) we can break the for statement or return directly if found.
So I guesst modify it to
private boolean containsMylarInterestFilter(StructuredViewer viewer) {
ViewerFilter[] filters = viewer.getFilters();
for (int i = 0, n = filters.length; i < n; i++) {
if (filters[i] instanceof InterestFilter) {
return true;
}
}
return false;
}