بیشتر ترفندهای «افزایش کارایی رایگان» برای Windows تفاوت قابلاندازهگیری کمی ایجاد میکنند. من هم به تنظیم رایگان Windows که قرار است پوشههای توسعه را سریعتر کند بدبین بودم، اما آن را روی پوشهٔ توسعهٔ خودم آزمایش کردم. نتیجه شگفتآور بود: بخش زیادی از معطلی آزاردهندهٔ نصبها و فرایندهای build از بین رفت. نام این قابلیت Dev Drive است و احتمالاً بیسروصدا در Settings شما قرار دارد.
چرا Dev Drive سریعتر است
ReFS و Defender با هم زمان build را کم میکنند

اگر پس از انتقال پوشهٔ فعال پروژه به Dev Drive فقط اندکی بهبود میدیدم هم اعتراضی نداشتم؛ انتظار زیادی نداشتم. با این حال، در git status یک ثانیه بهبود دیدم و npm install دیگر مرا منتظر نمیگذاشت.
این فقط حس سریعتر شدن Windows نبود؛ فعالیتهای معمول رایانه تفاوتی نداشتند. تفاوت در همان پوشههایی بود که هر روز در آنها تعداد زیادی فایل کوچک را مینویسم، حذف میکنم و دوباره مینویسم، repositoryها را clone میکنم، dependencyها را نصب میکنم و build archiveها را از حالت فشرده خارج میکنم. روی همان دستگاه و با همان وظایف، نتیجه کاملاً متفاوت بود:
| وظیفه | روی درایو قدیمی NTFS | روی Dev Drive |
|---|---|---|
| npm install (fresh, no cache) | 58s | 21s |
| Clone کردن یک repo با اندازهٔ متوسط | 42s | 13s |
| استخراج یک build archive با حجم 2GB | 41s | 19s |
تنها نکتهٔ منفی این بود که پس از تغییر مسیر terminal و IDE به Dev Drive، یادم رفت بعضی shortcut scriptها را با حرف درایو جدید بهروزرسانی کنم. زمان پیدا کردن مشکل از اجرای آزمون زمانسنجی جدول بالا بیشتر شد.
پس از restart، Settings همیشه Dev Driveهای مبتنی بر VHD را trusted نگه نمیدارد؛ بنابراین بهتر است وضعیت آن را در Virus & Threat Protection بررسی کنید.
دلیل این تفاوت چیست؟
Dev Drive کارهایی را سریع میکند که معمولاً NTFS را تحت فشار میگذارند

Dev Drive از ReFS استفاده میکند؛ file systemی متفاوت از درایو سیستمی Windows که بر پایهٔ NTFS است. NTFS برای storage عمومی طراحی شد، اما ReFS برای الگوهای مشخصِ ساختن و حذف کردن تعداد زیادی فایل کوچک بهینه شده است. این همان فعالیتی است که هنگام باز کردن dependency treeها در package manager یا کار Git با فایلهای object داخلی رخ میدهد.
داستان به همینجا ختم نمیشود: Windows بهطور خودکار Dev Drive را یک developer volume مورداعتماد علامت میزند. برای این volumeها، Microsoft Defender به Performance Mode میرود و فایلها را بهصورت asynchronous در پسزمینه اسکن میکند. چون هر فایل درست در لحظهٔ دستخوردن بررسی نمیشود، بخش مهمی از کندیهای معمول هنگام install و build حذف میشود.
این دو عامل توضیح میدهند چرا در workloadهایی با تغییر مداوم فایلهای کوچک، افزایش کارایی واقعی دیدم. البته مزیتی مشابه export ویدیو یا زمان بارگذاری بازیها ارائه نمیکند. این قابلیت آنقدر مفید است که عجیب است افراد بیشتری دربارهاش ننوشتهاند.
برای هر پوشهای مناسب نیست
عامل تعیینکننده نحوهٔ استفاده از فایلهاست، نه اندازهٔ آنها

برای Dev Drive یک قاعدهٔ ساده وجود دارد: برای هر کاری مناسب است که پیوسته چندین فایل کوچک را ایجاد یا بازنویسی میکند. Git repositoryها نمونهٔ سادهای هستند، چون در پسزمینه دائماً metadataهای کوچک مینویسند. cacheهای package manager هم مثال خوبیاند؛ این ابزارها هنگام نصب dependencyها اغلب هزاران فایل کوچک را همزمان باز میکنند. من از Dev Drive برای پوشههای خروجی build هم استفاده میکنم، زیرا compilerها پیش از ارائهٔ نتیجهٔ نهایی، مقدار زیادی فایل موقت کوچک تولید میکنند.
برای documents، عکسها، ویدیوها و library بازیها چنین افزایش کاراییای نمیبینید. حتی اگر این فایلها بزرگ باشند، عمدتاً ثابتاند و NTFS از پس آنها بهخوبی برمیآید.
این قابلیت را به هر کسی که مرتب repository clone میکند، dependency نصب میکند یا build اجرا میکند پیشنهاد میدهم. بیشتر کاربران دیگر میتوانند از آن صرفنظر کنند.
چگونه یک Dev Drive بسازیم
وقتی مسیر را بدانید، فقط چند دقیقه زمان میبرد





Dev Drive روی Windows ۱۱ نسخهٔ 22H2 یا جدیدتر کار میکند. برای راهاندازی آن به دستکم 50GB فضای خالی و administrator rights نیاز دارید.
- Windows Settings را باز کنید.
- به System -> Storage -> Advanced storage settings -> Disks & volumes بروید و سپس Create Dev Drive را انتخاب کنید.
- برای ساخت volume روی virtual hard disk جدید، Create new VHD را انتخاب کنید؛ یا برای ایجاد فضای تخصیصنیافتهٔ جدید، Resize an existing volume را برگزینید. سپس مراحل wizard را تا پایان دنبال کنید.
گزینهٔ Resize an existing volume را ترجیح میدهم، زیرا برای درایوهایی که قرار نیست بعداً جابهجا شوند راهاندازی سادهتری دارد و یک لایهٔ اضافیِ VHD را حذف میکند.
بر اساس حجمی که جابهجا میکنید برای کپیکردن زمان در نظر بگیرید: نمیتوانید یک پوشهٔ NTFS موجود را در همان محل تبدیل کنید. ابتدا باید volume جدیدی بسازید و سپس فایلها را منتقل کنید.
Dev Driveهای مبتنی بر VHD معمولاً از سوی ابزارهای backup نادیده گرفته میشوند؛ بنابراین آن را دستی به برنامهٔ backup اضافه کنید.
قابلیت Windows ۱۱ که هر توسعهدهندهای باید امتحان کند
تنظیم Dev Drive در اعماق Settings پنهان شده و به همین دلیل شاید هرگز نامش را نشنیده باشید. با این حال، یکی از کاربردیترین قابلیتهای Windows ۱۱ برای developerهاست. وقتی بدانید کدام فایلها از آن سود میبرند، دیگر برای این فایلها به درایو سنتی NTFS برنمیگردید.
منبع: این مطلب یک بومیسازی و بازنویسی تحریریهای بر اساس مقالهای از MakeUseOf نوشته Afam Onyimadu است: مشاهده مقاله اصلی.