এটি মূলত কারণ সমস্ত জিপিইউ ফাংশন কলগুলিকে সমর্থন করতে পারে না — এবং তা পারলেও ফাংশন কলগুলি খুব ধীর হতে পারে বা খুব ছোট স্ট্যাকের গভীরতার মতো সীমাবদ্ধতা থাকতে পারে।
শেডার কোড এবং জিপিইউ কম্পিউট কোডে সমস্ত জায়গায় ফাংশন কল উপস্থিত হতে পারে তবে সাধারণ পরিস্থিতিতে সেগুলি সংকলক দ্বারা 100% অন্তর্ভুক্ত। জিপিইউ দ্বারা চালিত মেশিন কোডটিতে শাখা এবং লুপ থাকে তবে কোনও ফাংশন কল নেই। তবে সুস্পষ্ট কারণে পুনরাবৃত্ত ফাংশন কলগুলি ইনলাইন করা যায় না। (যদি না কিছু যুক্তি সংকলন-সময় ধ্রুবক হয়, এমনভাবে যাতে সংকলক সেগুলি ভাঁজ করতে পারে এবং কলগুলির পুরো গাছটিকে ইনলাইন করতে পারে))
সত্য ফাংশন কলগুলি প্রয়োগ করতে আপনার একটি স্ট্যাকের প্রয়োজন need বেশিরভাগ সময়, শেডার কোড মোটেও একটি স্ট্যাক ব্যবহার করে না — জিপিইউতে বড় বড় রেজিস্টার ফাইল থাকে এবং শেডাররা তাদের সমস্ত ডেটা পুরো সময় রেজিস্টারে রাখতে পারে। স্ট্যাকের কাজটি করা কঠিন কারণ (ক) আপনার একসাথে উড়তে থাকা অনেকগুলি ওয়ার্প সরবরাহ করার জন্য আপনার প্রচুর স্ট্যাক স্পেস প্রয়োজন হবে এবং (খ) জিপিইউ মেমরি সিস্টেমটি অনেকগুলি একসাথে ব্যাচের জন্য অনুকূলিত হয়েছে উচ্চ থ্রুপুট অর্জনের জন্য মেমোরি লেনদেনের ক্ষেত্রে, তবে এটি বিলম্বিত ব্যয় করে আসে, তাই আমার ধারণা স্থানীয় ভেরিয়েবলগুলি সংরক্ষণ / পুনরুদ্ধার করার মতো স্ট্যাক অপারেশনগুলি ভীষণ ধীর হবে।
Orতিহাসিকভাবে, হার্ডওয়্যার-স্তরের ফাংশন কলগুলি জিপিইউতে খুব বেশি কার্যকর হয় নি, কারণ এটি সংকলকটির প্রত্যেকটি বিষয়কে ইনলাইন করতে আরও বোধগম্য হয়েছে। সুতরাং জিপিইউ স্থপতিরা তাদের দ্রুত তৈরিতে মনোনিবেশ করেন নি। ভবিষ্যতে দক্ষ হার্ডওয়্যার-স্তরের কলগুলির চাহিদা থাকলে সম্ভবত কিছু আলাদা ট্রেড অফ করা যেতে পারে তবে (ইঞ্জিনিয়ারিংয়ের মতো সমস্ত কিছুতেই) এটি অন্য কোথাও ব্যয় করতে হবে।
যতদূর রাইক্র্যাকিংয়ের কথা, লোকেরা সাধারণত যেভাবে এই ধরণের জিনিস পরিচালনা করে তা হ'ল রশ্মির সারি তৈরি করা যা সনাক্ত করার প্রক্রিয়াধীন রয়েছে। পুনরাবৃত্তি করার পরিবর্তে, আপনি একটি কাতারে একটি রশ্মি যুক্ত করুন এবং উচ্চ স্তরে কোথাও আপনার কাছে একটি লুপ রয়েছে যা সমস্ত সারি খালি না হওয়া পর্যন্ত প্রক্রিয়াজাতকরণ অব্যাহত রাখে। যদিও আপনি একটি ক্লাসিক পুনরাবৃত্ত রাইটারসর থেকে শুরু করছেন তবে এটির জন্য আপনার রেন্ডারিং কোডটির উল্লেখযোগ্য পুনর্গঠনের প্রয়োজন। আরও তথ্যের জন্য, এটিতে পড়ার জন্য একটি ভাল কাগজ হ'ল ওয়েভফ্রন্ট পাথ ট্রেসিং ।