Network processors are programmable devices with special architectural features that are optimized to perform packet forwarding decisions. Those decisions are often based on data accessed from various table structures. Access to these structures typically requires one of several search methods, each of which consists of multiple individual memory accesses, leading to significant latency to complete the process. One of the architectural features of network processors is multithreading of each processing element in order to hide the effects of these long latency searches. Hardware search engines can significantly reduce the latency of such searches, and are shown to have a significant impact on the number of threads required in each processing element.