1. A method for improving performance of a Boolean combination of at least two filters to a data stream, comprising: for a first filter, maintaining a first object to determine an accumulated processing time by the first filter to process a chunk of data from the data stream; for a second filter, maintaining a second object to determine an accumulated processing time by the second filter to process the chunk of data from the data stream; selecting an order for application of the first and second filters to the chunk of data from the data stream, wherein said selected order is based on values of the first and second objects; maintaining at least two sets of estimators for the first filter, each set estimating performance of the first filter given a specified performance of at least one of the search filters; and based upon the maintained sets of estimators, dynamically sorting said selected order of application of the first and second filters to enable a more efficient filter to precede a less efficient filter.