मुख्य मुद्दा यह है कि छंटाई एल्गोरिदम (1) को बहुत लचीलेपन की आवश्यकता होती है, और (2) वैसे भी हार्डवेयर का उपयोग करने में तेजी लाने के लिए बहुत मुश्किल होगा।
एक बात यह है कि प्रोसेसर की मेमोरी बैंडविड्थ को आगे बढ़ाने के लिए छँटाई एल्गोरिदम पहले से ही आसानी से पर्याप्त हैं - प्रोसेसर पहले से ही अपने समय का एक बड़ा हिस्सा खर्च करेगा जो डेटा को पीछे की ओर ले जाने और मुख्य मेमोरी में आगे बढ़ने के लिए इंतजार कर रहा है। एक हार्डवेयर-त्वरित सॉर्टिंग सह-प्रोसेसर या एक विशेष सॉर्टिंग निर्देश में एक ही समस्या होगी।
इस मेमोरी बैंडविड्थ को जिस तरह से संबोधित किया जा रहा है वह बेहतर एल्गोरिदम और डेटा संरचनाओं का उपयोग करके है, जिसमें बेहतर "स्थानीयता" है, और इस क्षेत्र में अभी भी महत्वपूर्ण काम किया जा रहा है, विशेष रूप से "कैश विस्मृत एल्गोरिदम" (वे इस अर्थ में अनजान हैं कि वे काम करते हैं) कैशिंग के विवरण के बावजूद, जबकि "कैश अवेयर" एल्गोरिदम एक विशेष कैश पेज आकार आदि के लिए ट्यून किए गए हैं)।
इसके विपरीत, मीडिया एप्लिकेशन (ऑडियो और ग्राफिक्स, विशेष रूप से 3 डी ग्राफिक्स) कुछ बहुत ही दोहरावदार संरचनाओं का उपयोग करते हैं - बेशक इसमें लचीलापन है, लेकिन यह एक बड़ी और बहुत अच्छी तरह से संरचित नींव के ऊपर बनाया गया है। कि ब्लिटिंग (एक विन्यास योग्य, लेकिन अभी भी बहुत संरचित ब्लॉक कॉपी ऑपरेशन) और लाइन / बैगन ड्राइंग जैसी चीजों के साथ ग्राफिक्स त्वरण को सरल शुरू करने की अनुमति दी। इसका अर्थ था कि ग्राफिक्स और ध्वनि प्रसंस्करण अधिक परिष्कृत होने के बाद, वेक्टर ऑपरेशन अनुकूलन के लिए एक स्पष्ट लक्ष्य बन गया - पहले MMX (पूर्णांक के वैक्टर) फिर SSE (फ्लोट्स के वैक्टर)। इसका मतलब था कि 3 डी ग्राफिक्स इंजन को 3 डी ग्राफिक्स हार्डवेयर में स्थानांतरित करने पर पुराने डी-फंक्शन 3 डी ग्राफिक्स पाइपलाइन काम करने के तरीके के लिए एक बहुत अच्छी तरह से परिभाषित संरचना थी।
3 डी ग्राफिक्स के साथ, हार्डवेयर में एक बार जो किया गया था, अब लचीलेपन के लिए सॉफ्टवेयर में किया गया है - शेडर्स सॉफ्टवेयर हैं, उदाहरण के लिए, जो कि विभिन्न सामग्रियों की उपस्थिति देने वाले विभिन्न शेड्स की एक विशाल श्रेणी है। हालाँकि, वह सॉफ़्टवेयर अभी भी सामान्य सॉफ़्टवेयर की तुलना में बहुत अधिक संरचित तरीके से काम करता है, और इसलिए अभी भी बहुत अधिक विशिष्ट हार्डवेयर प्लेटफ़ॉर्म का उपयोग कर सकता है। यही कारण है कि आपका ग्राफिक्स कार्ड अब फिजिक्स से लेकर क्रैकिंग पासवर्ड तक सबकुछ तेज कर सकता है - ऐसे अनुप्रयोग जो उसी मॉडल के साथ फिट होते हैं और आधुनिक ग्राफिक्स प्रोसेसर प्रदान करने वाले निर्देश सेटों का उपयोग करके कुशलता से लागू किया जा सकता है।
ग्राफिक्स प्रोसेसर अब डिजिटल सिग्नल प्रोसेसर के आध्यात्मिक या वास्तविक वंशज हैं, जो डिजिटल सिग्नल (जैसे ऑडियो) से निपटने के लिए एक प्रकार का विशेष प्रोसेसर था।
जो एक अंतिम बिंदु की ओर जाता है - हार्डवेयर द्वारा छंटनी एल्गोरिदम को तेज किया जा सकता है। आपके डेटा के आधार पर, आपके प्रोसेसर पर MMX या SSE (सिंगल-इंस्ट्रक्शन-मल्टीपल-डेटा) निर्देशों का उपयोग करके सॉर्टिंग को संभाला जा सकता है, लेकिन मेमोरी बैंडविड्थ इश्यू के कारण शायद बहुत ज्यादा पॉइंट नहीं है - हो सकता है कि आप कुछ अधिक पावरफुल हों हालांकि इस तरह से। हालाँकि, आप अपने ग्राफ़िक्स हार्डवेयर का भी उपयोग कर सकते हैं। इस तरह, आप ग्राफिक्स कार्ड के लिए अक्सर बेहतर मेमोरी बैंडविड्थ से लाभ उठा सकते हैं। आप इस तरह से सभी प्रकार को प्रतिस्थापित करने में सक्षम नहीं होंगे, लेकिन यह निश्चित रूप से संभव है और संभवतया जहां उपयुक्त हो, किया जा रहा है।
विभिन्न आर्थिक और व्यावहारिक मुद्दों के कारण IOW, विशेष रूप से सॉर्टिंग जैसे अपेक्षाकृत संकीर्ण कार्य में तेजी लाने के लिए हार्डवेयर डिजाइन करना वास्तव में कोई मतलब नहीं है। एक विशेषता जो कार्यों की एक विस्तृत श्रृंखला को गति देती है, या जो मौजूदा त्वरण हार्डवेयर को व्यापक कार्यों के लिए लागू करती है, अक्सर बहुत अधिक समझ में आता है।