1. A data processing system, comprising: an input memory configured to receive a data stream; a plurality of data compressors communicatively coupled with the input memory, each of the plurality of data compressors configured to apply a data compression algorithm to the data stream to generate a respective compressed version of the data stream; and a controller communicatively coupled with each of the plurality of data compressors, the controller configured to determine which of the plurality of data compressors generated the smallest compressed version of the data stream, the controller further configured to forward the smallest compressed version of the data stream.