Publish/subscribe middleware provides efficient support for loosely coupled communication in distributed systems. A number of different distributed message-filtering algorithms have been proposed. So far, a systematic comparison and analysis of these filter algorithms is still missing. This paper proposes a classification scheme for distributed filter algorithms that supports the theoretical and practical analysis of these algorithms. We present a first cut theoretical evaluation and a subsequent practical evaluation of promising candidate algorithms. Factors that are considered include the characteristics of the underlying network and application-related constraints. Based on the findings of these evaluations, we conclude with a summary of the strengths and weaknesses of the algorithms that we have studied.