موتوکو ۱.۱۴ سقف حافظه پایدار را بالا میبرد و استنتاج واریانتها را دقیقتر میکند
موتوکو ۱.۱۴ که در ۱۱ اوت منتشر شد، استنتاج ضمنی ساختاری برای نوعهای واریانت را اضافه میکند، سقف پیشفرض حافظه پایدار را از ۴ گیگابایت به ۱۰۰ گیگابایت میرساند و چند نقص کامپایلر و سازگاری با Candid را برطرف میکند. این نسخه فضای بیشتری برای دادههای پایدار در اختیار توسعهدهندگان ICP میگذارد و الگوهای سریالسازی عمومی را سادهتر میکند.

موتوکو ۱.۱۴ یک انتشار کوچک اما کاملاً کاربردی است: این نسخه فضای بیشتری برای دادههای پایدار کنیسترها فراهم میکند و شیوه استنتاج عملیات برای نوعهای واریانت را بهبود میدهد.
مهمترین تغییر عملی، سقف پیشفرض حافظه پایدار است. طبق یادداشت انتشار، مقدار پیشفرض جدید ۱۰۰ گیگابایت است؛ در حالی که این مقدار پیشتر ۴ گیگابایت بود. این سقف برای حافظه پایدار مورد استفاده کتابخانه Region اعمال میشود و توسعهدهندگان همچنان میتوانند آن را با --max-stable-pages تغییر دهند.
این تغییر برای کنیسترهایی اهمیت دارد که وضعیت دائمی آنها از رکوردهای معمولی بزرگتر میشود؛ از جمله آرشیوها، ایندکسها، تاریخچهها و ساختارهای دادهای مبتنی بر Region. با این حال، یک نکته مهم وجود دارد: ۱۰۰ گیگابایت یک مقدار پیشفرض در موتوکو و سقف کتابخانه Region است، نه تضمینی که هر کنیستر بهطور خودکار ۱۰۰ گیگابایت فضای قابل استفاده دریافت کند. ظرفیت واقعی همچنان به محدودیتهای کنیستر و شبکه اینترنت کامپیوتر وابسته است.
موتوکو ۱.۱۴ همچنین استنتاج ضمنی ساختاری برای واریانتها را از طریق ترکیبکننده __variant گسترش میدهد. به زبان ساده، کامپایلر میتواند پوششی تولید کند که بر اساس حالت فعال واریانت انتخاب کند و ترکیبکننده را روی برچسب و تابع تأخیری payload اعمال کند. اگر payload هر حالت نمونههای لازم را داشته باشد، عملیاتهایی مانند سریالسازی بدون نوشتن کد تکراری برای هر حالت قابل استنتاج میشوند.
برای پروژههای ICP، این تغییر فقط بهبود ظاهری نحو نیست. رابطهای مبتنی بر واریانت در سرویسهای Candid و ماشینهای حالت کاربردی رایجاند. استنتاج بهتر میتواند مقدار کد تبدیل دستی را کاهش دهد، اما همچنان لازم است نوعهای payload نمونههای سازگار مورد نیاز را ارائه کنند.
این نسخه همچنین قاعده زیرنوعگذاری Candid با فرم service <actortype> <: principal را پیادهسازی میکند؛ بنابراین ارجاعهای سرویس در رمزگشایی مستقیم و بررسیهای تأخیری زیرنوع در ارجاعهای تابع، بهصورت Principal رمزگشایی میشوند. یک خطای تبدیل class در جایگاه عبارت و یک خرابی یا بدکامپایلشدن کامپایلر در فراخوانی بازگشتی انتهاییِ خودی با خروجی تاپل نیز اصلاح شده است.
در مجموع، موتوکو ۱.۱۴ را باید یک ارتقای مهندسی و نگهداری دانست که دو دستاورد مستقیم برای توسعهدهنده دارد: فضای پیشفرض بیشتر برای حافظه پایدار و کد تکراری کمتر در کار با دادههای واریانتمحور. تیمها باید این ارتقا را با وضعیت پایدار موجود و رابطهای تولیدشده خود آزمایش کنند، بهویژه اگر از گزینههای سفارشی کامپایلر یا کدی حساس به مهاجرت استفاده میکنند.
خبرخوان را در ایمیل بگیرید
هر سیگنال تازه، مستقیم از خط تولید. بدون مزاحمت، لغو عضویت در هر زمان.


