1. A system, comprising: multiple flow analysis units, which are configured to analyze flows of communication packets, wherein each of the multiple flow analysis units function in parallel, separately and independently of each other, and wherein at least one of the multiple flow analysis units analyzes flows by searching for occurrences of regular expressions in flows; at least one classification unit, which is configured to accept one or more of the communication packets in the flow from a front-end processor and configured to assign a classification to the flow that indicates whether the flow is to be analyzed by the flow analysis units, wherein the classification is assigned based on less than 5% of the input packets of the given input flow, wherein the classification unit is configured to assign a first classification to a first input flow that indicates whether the flow is to be analyzed by the flow analysis units based on information produced in assigning a second classification to a second input flow, and wherein the classification unit is configured to identify a server-side address and a client-side address in the second input flow, and to use the identified serve-side and client-side addresses in assigning the first classification to the first input flow; and a front-end processor, which is configured to receive input packets from a communication network, to associate each input packet with a respective input flow, to forward at least one input flow to the classification unit for assigning the classification, and to forward one or more input flows, which were classified by the classification unit as requiring analysis by the multiple flow analysis units, to the multiple flow analysis units.