نقل قول نوشته شده توسط علی کشاورز مشاهده تاپیک
کامپایلر مورد استفاده شما تصمیم میگیره که چه متغیری در رجیستر باشه، بهتر هست. یک قانون کلی وجود نداره که بگیم برای هر کامپایلری حتما فلان رفتار صورت میگیره. در دات نت هم JIT متناسب با سکوی هدف (32 بیتی، 64 بیتی، ویندوز، لینوکس، مک، و غیره) متفاوت پیاده سازی میشه، و لزوما کدی که برای یک سکو تولید میکنه، همان کدی نیست که برای سکوی دیگه تولید میکنه.


نقل قول نوشته شده توسط علی کشاورز مشاهده تاپیک
وقتی متغیر حلقه for شما بصورت Local Variable تعریف میشه، کامپایلر مقدار آن را در داخل یکی از رجیسترهای CPU نگهداری میکنه. رجیسترهای CPU حکم متغیرهای اختصاصی CPU را دارند، و در داخل خودِ CPU تعبیه شدند، به همین دلیل CPU سریعترین سرعت دسترسی را به آنها دارد. با هر بار گردش حلقه، یک مقدار به رجیستر مربوطه اضافه میشه.
اون سوالم در راستای این پست شما بود که گفته بودین کانتر حلقه در رجیستر نگهداری میشه (بالفرض که مشکل ضیق رجیستر نباشه)