मेरे क्षेत्र में (वीएफएक्स, जिसमें पथ अनुरेखण, कंप्यूटर एनीमेशन, कण सिमुलेशन, द्रव गतिकी, छवि प्रसंस्करण, आदि जैसी चीजें शामिल हैं), एल्गोरिथम जटिलता मौलिक है। लीनियरथमिक समय से भी बदतर तरीके से काम करने का कोई तरीका नहीं है, इनपुट पर किसी भी उचित समय में पूरा होने की उम्मीद कर सकते हैं जो आमतौर पर लाखों कोने, बहुभुज, स्वर, कण, टेक्सल्स तक पहुंचते हैं, खासकर जब इनमें से कई चीजों को प्रदान करने के लिए कई बार एक दूसरे को पूरा करने की आवश्यकता होती है। वास्तविक समय, इंटरैक्टिव प्रतिक्रिया।
इसके साथ ही, आमतौर पर सहकर्मियों के बीच चर्चा में एल्गोरिथम की जटिलता पर जोर देने के कारण ऐसा नहीं है, शायद इसलिए कि इसे कुछ हद तक स्वीकार किया गया है बल्कि "अल्पविकसित" है। यह आम तौर पर माना जाता है कि यदि आप एक पथ अनुरेखक लिख रहे हैं जो इसे लघुगणक समय या बेहतर में संचालित करने जा रहा है, और यह कि डेटा संरचनाएं जैसे आयतन श्रेणीबद्धता पाठक के लिए लागू करने के लिए परिचित और अपेक्षाकृत तुच्छ हैं। मेरे पास एक कुशल सहयोगी भी था जो कहता था कि एल्गोरिथम की तुलना में मल्टीथ्रेडिंग और SIMD अधिक महत्वपूर्ण हैं, और मुझे नहीं लगता कि उनका मतलब इस अर्थ में था कि आप एक बबल सॉर्ट को समानांतर करने से बहुत कुछ पाने की उम्मीद कर सकते थे। मुझे लगता है कि उन्होंने कहा कि क्योंकि उन्होंने यह समझ लिया था कि हम समझदार एल्गोरिदम लागू करेंगे,
अक्सर इन दिनों बहुत से फ़ोकस इन परिचित एल्गोरिदमों को लेने और उन्हें बेहतर बनाने के लिए सीपीयू कैश, सिमडी रजिस्टर और निर्देश, जीपीयू और कई कोर जैसे हार्डवेयर की अंतर्निहित विशेषताओं का उपयोग करते हैं। उदाहरण के लिए, इंटेल परिचित पुराने बीवीएच लेने के एक नए तरीके के साथ आया और "रे पैकेट" की अवधारणा के साथ आ रहा है, मूल रूप से एक ही समय में कई सुसंगत किरणों का परीक्षण कर रहा है, जो पेड़ के आघात के एक पुनरावर्ती प्रकार (जो इस तरह लग सकता है) यह जटिलता और ओवरहेड के अपने हिस्से के साथ आता है, सिवाय इसके कि यह इस तथ्य से अधिक है कि उन किरणों को अब एक साथ किरण / AABB और रेम / त्रिकोण चौराहों के लिए SIMD निर्देशों और रजिस्टरों के माध्यम से एक साथ परीक्षण किया जा सकता है)।
कैटमुल-क्लार्क उपखंड जैसी समान चीज, जो कंप्यूटर ग्राफिक्स में बहुत अल्पविकसित सामान है। लेकिन आजकल जो प्रतिस्पर्धात्मक और गर्म और सुपर कुशल है वह है GPU कार्यान्वयन जो ग्रेगरी पैच का उपयोग करते हुए लगभग सीसी उपविभाजक है, जैसा कि चार्ल्स लूप द्वारा लोकप्रिय है और बाद में पिक्सर द्वारा अपनाया गया था। अधिक सरल सीपीयू कार्यान्वयन अब अप्रचलित है, जरूरी नहीं कि यह एल्गोरिदमिक जटिलता के संदर्भ में अलंकृत किया गया था, लेकिन क्योंकि यह जीपीयू के साथ अच्छा खेलता है।
और यह आम तौर पर इन दिनों बहुत सारी चुनौती है जो कि एक बेहतरीन एल्गोरिथम के साथ नहीं आ रही है जो हार्डवेयर की अंतर्निहित विशेषताओं से अपेक्षाकृत स्वतंत्र है। मैंने वास्तव में एक उपन्यास त्वरण संरचना के साथ आने से उद्योग में अपना पैर जमा लिया, जो कि 90 के दशक में एक स्थानिक अनुक्रम के विरोध के रूप में एक पदानुक्रमित विभाजन का उपयोग करते हुए वर्णों और अन्य कोमल निकायों के लिए टकराव का पता लगाने में मदद करता है, जो मुझे बहुत पसंद है। नौकरी की पेशकश, लेकिन इन दिनों यह इतना प्रभावशाली नहीं है क्योंकि मैंने इसे प्रकाशित किया था इससे पहले कि हमारे पास इस तरह के प्रभावशाली सीपीयू कैश और कई कोर और प्रोग्राम योग्य जीपीयू थे और क्या नहीं, और आजकल मैं महत्वपूर्ण परिवर्तनों के परिणामस्वरूप पूरी तरह से अलग दृष्टिकोण का उपयोग करता हूं। अंतर्निहित हार्डवेयर।