3. The hardware data compressor of claim 2 , the second hardware engine: performs (a) and (b) while the first hardware engine scans the input block of characters to produce a next token in the stream.
2. The hardware data compressor of claim 1 , to maintain the sorted list, the second hardware engine: (a) increments a first frequency of a first symbol associated with a token of the stream received from the first hardware engine; and (b) repeatedly swaps locations of the first symbol and a second symbol just above the first symbol in the sorted list while the first frequency is greater than a second frequency of the second symbol.