كشفت JetBrains أن بطء بدء التشغيل الذي أبلغ عنه مستخدمو Rider وReSharper على Windows لم يكن ناتجاً بالكامل عن بنية الأداتين، بل ارتبط بدرجة كبيرة بعمليات الفحص التي ينفذها Microsoft Defender عند تشغيلهما. ووفقاً لنتائج الشركة، كان Defender يضيف عشرات الثواني إلى التشغيل الأول عندما يعمل ReSharper كعملية منفصلة خارج Visual Studio، في حين كانت أدوات أخرى تنتهي عمليات فحصها خلال أقل من ثانية.
تأتي هذه النتيجة بعد اعتماد ReSharper بنية التشغيل خارج العملية (Out-of-Process أو OOP)، وهي بنية طورتها JetBrains لمعالجة أثر ReSharper في استجابة Visual Studio. أطلقت الشركة وضع OOP للعامة في العام السابق، وأصبح مفعلاً افتراضياً في ReSharper 2026.2.1. وبينما أظهرت القياسات الداخلية تحسناً عاماً في الأداء، بدأت تقارير المستخدمين تشير إلى تباطؤ في بدء التشغيل، ما دفع JetBrains إلى إجراء تحليل أكثر تفصيلاً.
أين ظهر التأخير؟
ركزت JetBrains على سجلات التتبع الخاصة بـMicrosoft Defender عبر ETW، أو Event Tracing for Windows، وعلى قياسات مباشرة لزمن المعالج. واستخدمت الشركة أحداثاً من مزود Microsoft-Antimalware-Engine، وبشكل خاص أحداث StreamScanRequestTask التي تسجل بداية كل عملية فحص ونهايتها.
أظهرت البيانات أن الملفات الموجودة في مسارات محمية من الكتابة تحصل على قواعد ثقة تجعل Defender يتعامل معها بصورة أخف أثناء بدء التشغيل. أما عندما بدأ ReSharper العمل كعملية منفصلة، فقد خضع لفحص كامل، بما في ذلك مكتبات DLL التي تُحمّل من مجلد تثبيت المستخدم. ونتيجة لذلك، ارتفع زمن الفحص من بضع ثوانٍ تقريباً إلى عشرات الثواني في بعض الحالات.
حللت JetBrains عشرات أدوات التطوير، ووجدت اختلافات كبيرة بينها. تراوح زمن الفحص البارد لبيئات JetBrains وأدوات أخرى من فئة المحررات بين 10 و40 ثانية تقريباً، بينما بقي أقل من ثانية لدى بيئات Microsoft وأدوات تحرير أخرى في الاختبار نفسه. أما الأدوات المعتمدة على سطر الأوامر فاستغرقت أقل من ثانيتين تقريباً، وهو ما رجحته الشركة إلى صغر الملفات التنفيذية وعدد مكتبات DLL المحدود.
الاختبار والتعاون مع Microsoft
أجريت القياسات على حاسوب Dell Pro Max 16 (MA16250) بمعالج Intel Core Ultra 9 285H ذي 16 نواة وذاكرة DDR5 بسعة 64 غيغابايت، مع Windows 11 Pro. وشُغلت الأدوات داخل آلة افتراضية على Hyper-V مخصصة بثماني وحدات vCPU وذاكرة ثابتة بسعة 8 غيغابايت. قاست JetBrains كل أداة عشر مرات، مع إعادة تشغيل الآلة الافتراضية قبل كل محاولة لمحاكاة بدء بارد وتقليل أثر التخزين المؤقت للملفات والذاكرة.
لم تتمكن JetBrains في البداية من تفسير جميع قواعد الفحص، حتى بعد مراجعة الوثائق المتاحة، لذلك تواصلت مع فريق Microsoft. ساعد التعاون في تحديد العوامل التي تجعل Defender ينفذ عملاً أكبر، كما ساعد في تفسير سبب خضوع Rider لفحص أكثر كثافة من IntelliJ IDEA وReSharper مجتمعين.
أصدرت Microsoft تعديلات على Defender في الإصدار 1.449.454.0 لمعالجة الحالة الخاصة بـRider وReSharper OOP عند تثبيتهما داخل مجلد محمي من الكتابة. لكن تثبيت JetBrains Toolbox يتم افتراضياً في المسار %LOCALAPPDATA%\Programs، وهو مسار يسمح بالكتابة دون صلاحيات رفع الامتيازات، ولذلك لا يستفيد من التحسين المرتبط بالمجلدات المحمية. وتقول JetBrains إنها ما زالت تقيم أفضل طريقة للتعامل مع تثبيت Rider عبر Toolbox واستثناءات Microsoft Defender.
أداة لقياس أثر Defender
أطلقت JetBrains أداة Defender Performance Tool لمساعدة المطورين والناشرين على إجراء التحقيق نفسه. تتيح الأداة مراقبة نشاط الفحص لحظياً أثناء بدء التطبيق أو تحميل الإضافات أو تنفيذ عملية ترجمة، كما تسمح بفتح لقطات مسجلة مسبقاً باستخدام New-MpPerformanceRecording وتحليلها لاحقاً، وتصدير بيانات CSV عند التعامل مع عدة لقطات.
وتشير JetBrains إلى أن إضافة استثناءات محلية إلى Microsoft Defender قد تكون محظورة من قبل مسؤولي الأنظمة في البيئات المُدارة. لذلك لا تقدم هذه الخطوة كحل متاح دائماً، ولا ينبغي التعامل معها بديلاً تلقائياً عن فهم سبب البطء أو عن سياسات الحماية المؤسسية.
ما الذي يتغير عملياً للمطورين؟
تُظهر هذه الحالة أن قياس أداء بيئة التطوير لا يقتصر على زمن تنفيذ التطبيق أو استهلاك الذاكرة داخل الأداة نفسها. فقد يظهر التأخير في طبقة أمنية تعمل بالتوازي مع البرنامج، ويختلف أثرها بحسب طريقة التثبيت، وموقع الملفات، وعدد المكتبات التي تُحمّل عند بدء التشغيل.
توصي JetBrains بالإبقاء على تعريفات Microsoft Defender محدثة، واستخدام وحدة PowerShell الخاصة بتحقيقات أداء Defender، وتجربة أداة القياس الجديدة عند ملاحظة بطء غير مفسر. كما تذكر تثبيت البرامج في مجلدات محمية من الكتابة، واستخدام الأمر Add-MpPreference لإعداد استثناء عند الحاجة، وإنشاء Dev Drive لحفظ المستودعات وذاكرة الحزم المؤقتة.
القراءة التحريرية: التغيير الأهم ليس مجرد تحسين داخلي في Rider أو ReSharper، بل كشف تفاعل غير واضح بين تصميم أداة التطوير وآلية الفحص الأمني. ومع ذلك، تظل النتائج مرتبطة ببيئة اختبار محددة وآلة افتراضية وعدد محدود من القياسات؛ لذلك لا تثبت أن كل مستخدمي Windows سيواجهون الفارق نفسه. القيمة العملية للمادة تتمثل في توفير منهج وأداة للتحقق من السبب قبل تعديل إعدادات الحماية، مع بقاء مسألة دعم تثبيت JetBrains Toolbox والقيود التي يفرضها مسؤولو الأنظمة مفتوحة.
كيف أعددنا هذا الخبر؟
اعتمد الخبر على المصدر الأصلي الموضح أعلاه. قد نستخدم أدوات آلية للمساعدة في الاستخراج والتصنيف والصياغة،
لكن النشر يخضع لقواعد تمنع المحتوى المكرر والقصير أو الروتيني منخفض القيمة.
اقرأ سياستنا التحريرية.