Производительность часто переупорядочивания короткого спискаJAVA

Программисты JAVA общаются здесь
Anonymous
Производительность часто переупорядочивания короткого списка

Сообщение Anonymous »

У меня есть приложение, в котором у меня есть правило объект, который имеет список предикатов фильтра . Я буду сравнивать много событий с предикатами и хочу знать, совпадают ли они все . Большинство событий не совпадают с правилом, поэтому я хочу потерпеть неудачу как можно быстрее. Каждый фильтр будет выполнять задачу, примерно эквивалентное сравнительному сравнению с случаями, поэтому я думаю, что переупорядочение списка будет более эффективным, чем ненужный тест. 5-50 элементов длиной, у меня возникает подозрение, что хранение фильтров в массивном списке будет наиболее эффективным, так как это заставляет этот список храниться в одном блоке физической памяти, а не распространяется по этой куче.public class Rule {
private List filters;

public boolean doesEventMatch(final Event event) {
for (int i = 0; i < filters.size(); i++) {
if (!filter.test(event)) {
// remove the active filter and insert it at the front of the list
if (i != 0) {
final Predicate activeFilter = filters.remove(i);
filters.add(0, activeFilter);
}

return false;
}
}
return true;
}
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... short-list

Вернуться в «JAVA»