প্রারম্ভিক এইচডাব্লু প্রায়শই প্রবাহ নিয়ন্ত্রণ না থাকায় এবং সাম্প্রতিক এইচডব্লিউয়ের দামের পরিমাণ পৃথক হতে পারে বলে শ্যাডর সংকলকগণ এনআরোলিং সম্পর্কে অত্যন্ত আগ্রাসী are যদি আপনার কাছে একটি মানদণ্ড থাকে তবে আপনি সক্রিয়ভাবে এর বিরুদ্ধে এবং প্রাসঙ্গিক হার্ডওয়্যারের সীমাবদ্ধতার সাথে পরীক্ষা করছেন, তবে কী ঘটে তা দেখার চেষ্টা করুন। আপনার গতিশীল লুপটি স্ট্যাটিক লুপের চেয়ে বিকাশকারীদের হস্তক্ষেপে আরও সুগম হয় - তবে আপনার বেঞ্চমার্ক না পাওয়া পর্যন্ত এটি সংকলকটিতে রেখে দেওয়া এখনও ভাল পরামর্শ। একটি মানদণ্ড সহ, অনুসন্ধান সার্থক (এবং মজাদার)।
বিটিডাব্লু, জিপিইউতে ডায়নামিক লুপের সবচেয়ে বড় ক্ষতি হ'ল ওয়েভফ্রন্ট / ওয়ার্পের স্বতন্ত্র "থ্রেডগুলি" বিভিন্ন সময়ে শেষ হবে। থ্রেডগুলি যেগুলি পরে থামায় তা এনওপিগুলি কার্যকর করার জন্য তাড়াতাড়ি শেষ হওয়া সমস্তগুলিকে বাধ্য করে।
নেস্টেড লুপগুলি সাবধানতার সাথে চিন্তা করা উচিত: আমি একটি ব্লক ভিত্তিক এনট্রপি ডিকোডার প্রয়োগ করেছি যা জিরো রানের এনকোডেড (সংক্ষেপণের মতো জেপিগের জন্য)। প্রাকৃতিক বাস্তবায়নটি একটি শক্ত অভ্যন্তরীণ লুপে রানগুলি ডিকোড করা ছিল - যার অর্থ প্রায়শই কেবল একটি থ্রেড অগ্রগতি করছিল; লুপটি সমতল করে এবং প্রতিটি থ্রেডে স্পষ্টভাবে পরীক্ষা করে যদি এটি বর্তমানে কোনও রান ডিকোডিং করছে বা না, আমি স্থির দৈর্ঘ্যের লুপের মাধ্যমে সমস্ত থ্রেডকে সক্রিয় রেখেছি (ডিকোডেড ব্লকগুলি সমস্ত একই আকারের ছিল)। থ্রেডগুলি যদি সিপিইউ থ্রেডের মতো হত তবে পরিবর্তনটি ভয়াবহ হতে পারে তবে আমি যে জিপিইউ চালিয়ে যাচ্ছিলাম তাতে আমি পারফরম্যান্সে 6 গুণ বৃদ্ধি পেয়েছি (যা এখনও ভয়ানক ছিল - জিপিইউকে ব্যস্ত রাখতে পর্যাপ্ত ব্লক ছিল না - তবে এটি ধারণার প্রমাণ ছিল)।