أداء ADF

أعمل على صيانة قوات الدفاع الذاتي الجوية منذ حوالي 6 سنوات حتى الآن. اشتمل معظم عملي على مدار السنوات القليلة الماضية على إصلاح الأخطاء ، وكتابة الاختبارات الآلية لاكتشاف الانحدار ، وضمان الصحة العامة لأنظمة التشغيل المختلفة. إن الاحتفاظ بأداة مكتوبة بلغة Bash ليس بالأمر السهل. بالنسبة لمعظم الأشياء ، هناك حالات متطورة ومشكلات توافق أكثر بكثير من المسارات السعيدة. يجب حظر بعض الأوامر من قاعدة التعليمات البرمجية لضمان التوافق بين أنظمة التشغيل. يعد وضع Bash المتشدد مفيدًا أيضًا ، ولكنه يقدم مشكلات أخرى يجب معالجتها.

كل هذا لأقول إنه لم يكن لدي الكثير من الوقت للتراجع وتقييم الجوانب الأخرى لـ asdf. صعد مشرفو الصيانة الآخرون وساعدوا في التوثيق وتجربة المستخدم ، لكن الأداء تراجع. على مدار الشهرين الماضيين ، لاحظت أن بعض أوامر asdf التي أستخدمها غالبًا ما تبدو أبطأ. العديد من أوامر asdf بطيئة جدًا ، ولكن مع طريقة تصميم asdf ، نادرًا ما تكون هذه مشكلة. لم يكن تيار asdf سريعًا بما يكفي لاستخدامه كجزء من موجه الأوامر الذي يعرض الإصدارات الحالية ، ولكنه كان تحسينًا غير حاسم لتجربة المستخدم. لكن يبدو أن الأمور تزداد سوءًا وأردت تقييم الأداء. في هذه المقالة ، سأقارن عدة أوامر asdf وأرى كيف تغير أدائها بمرور الوقت.

أردت أن أرى كيف تغير أداء كل أمر بمرور الوقت منذ إصدار asdf لأول مرة. يمكن القيام بذلك عن طريق التحقق من كل علامة إصدار asdf باستخدام Git ، ومقارنة كل أمر في تلك العلامة ، ثم كتابة النتائج على القرص ، قبل الانتقال إلى العلامة التالية. بمجرد كتابة بيانات قياس الأداء على القرص ، يمكن استخدامها لإنشاء رسوم بيانية لتغييرات الأداء بمرور الوقت. لا توجد أداة تقوم بكل هذا ، لذلك اضطررت إلى كتابة نص باش.

لقياس الأداء ، أحب تقنية hyperfin ، وهي تصدر النتائج إلى CSV و JSON ، لذلك كانت مثالية لذلك. كل ما كان علي فعله هو كتابة برنامج نصي Bash يربط git لكل مرجع و git checkout معًا ، ثم يقوم بتشغيل فائق الدقة لكل أمر في كل إصدار. تم إرفاق نص shell الناتج. يعد جمع البيانات باستخدام هذا النص البرمجي لقياس الأداء أمرًا بسيطًا. أي أوامر فرعية للمقارنة

بعض الأوامر مهمة ، وغالبًا ما تُستخدم ، ويُقصد بها أن تكون سريعة. هذه الأوامر هي:

asdf الحالي - طباعة الإصدارات المحددة للدليل الحالي

asdf الذي - يعرض المسار الفعلي القابل للتنفيذ الذي يحل الرقاقة إليه

asdf حيث - يعرض دليل تثبيت الأداة

asdf exec - ينفذ الرقاقة (تقريبًا مثل التنفيذ المباشر للرقاقة)

قارنت كل هذه الأوامر

يجب أن تكون بعض الأوامر بطيئة نسبيًا وأن تستغرق ثانية أو ثانيتين على الأقل حتى تكتمل. هذه الأوامر هي:

تثبيت asdf - تثبيت إصدار من الأداة

إضافة ملحق asdf - تثبيت البرنامج المساعد

asdf reshim - يجدد جميع الحشوات

من بين هذه الأوامر الثلاثة ، تلقيت شكاوى فقط حول أداء asdf reshim. إنها إلى حد بعيد الأبطأ من بين جميع أوامر asdf ، لذا قارنتها. غالبًا ما يكون تثبيت asdf بطيئًا ، ولكن أداءه مرتبط بنص تثبيت البرنامج المساعد ولا يتحكم فيه asdf ، لذلك تخطيته. تحليل مقارن

اخترت تشغيل معياري على الكمبيوتر المحمول الذي يعمل بنظام التشغيل Ubuntu بالإحصائيات التالية. $ lshw - قصير وصف فئة الجهاز مسار H / W =================================================== = == نظام 20DF0040US (LENOVO_MT_20DF_BU_Think_FM_ThinkPad E550) / 0 حافلة 20DF0040US / 0/3 32 كيلوبايت L1 مخبأ / 0/4 معالج Intel (R) Core (TM) i7-5500U ...

أعمل على صيانة قوات الدفاع الذاتي الجوية منذ حوالي 6 سنوات حتى الآن. اشتمل معظم عملي على مدار السنوات القليلة الماضية على إصلاح الأخطاء ، وكتابة الاختبارات الآلية لاكتشاف الانحدار ، وضمان الصحة العامة لأنظمة التشغيل المختلفة. إن الاحتفاظ بأداة مكتوبة بلغة Bash ليس بالأمر السهل. بالنسبة لمعظم الأشياء ، هناك حالات متطورة ومشكلات توافق أكثر بكثير من المسارات السعيدة. يجب حظر بعض الأوامر من قاعدة التعليمات البرمجية لضمان التوافق بين أنظمة التشغيل. يعد وضع Bash المتشدد مفيدًا أيضًا ، ولكنه يقدم مشكلات أخرى يجب معالجتها.

كل هذا لأقول إنه لم يكن لدي الكثير من الوقت للتراجع وتقييم الجوانب الأخرى لـ asdf. صعد مشرفو الصيانة الآخرون وساعدوا في التوثيق وتجربة المستخدم ، لكن الأداء تراجع. على مدار الشهرين الماضيين ، لاحظت أن بعض أوامر asdf التي أستخدمها غالبًا ما تبدو أبطأ. العديد من أوامر asdf بطيئة جدًا ، ولكن مع طريقة تصميم asdf ، نادرًا ما تكون هذه مشكلة. لم يكن تيار asdf سريعًا بما يكفي لاستخدامه كجزء من موجه الأوامر الذي يعرض الإصدارات الحالية ، ولكنه كان تحسينًا غير حاسم لتجربة المستخدم. لكن يبدو أن الأمور تزداد سوءًا وأردت تقييم الأداء. في هذه المقالة ، سأقارن عدة أوامر asdf وأرى كيف تغير أدائها بمرور الوقت.

أردت أن أرى كيف تغير أداء كل أمر بمرور الوقت منذ إصدار asdf لأول مرة. يمكن القيام بذلك عن طريق التحقق من كل علامة إصدار asdf باستخدام Git ، ومقارنة كل أمر في تلك العلامة ، ثم كتابة النتائج على القرص ، قبل الانتقال إلى العلامة التالية. بمجرد كتابة بيانات قياس الأداء على القرص ، يمكن استخدامها لإنشاء رسوم بيانية لتغييرات الأداء بمرور الوقت. لا توجد أداة تقوم بكل هذا ، لذلك اضطررت إلى كتابة نص باش.

لقياس الأداء ، أحب تقنية hyperfin ، وهي تصدر النتائج إلى CSV و JSON ، لذلك كانت مثالية لذلك. كل ما كان علي فعله هو كتابة برنامج نصي Bash يربط git لكل مرجع و git checkout معًا ، ثم يقوم بتشغيل فائق الدقة لكل أمر في كل إصدار. تم إرفاق نص shell الناتج. يعد جمع البيانات باستخدام هذا النص البرمجي لقياس الأداء أمرًا بسيطًا. أي أوامر فرعية للمقارنة

بعض الأوامر مهمة ، وغالبًا ما تُستخدم ، ويُقصد بها أن تكون سريعة. هذه الأوامر هي:

asdf الحالي - طباعة الإصدارات المحددة للدليل الحالي

asdf الذي - يعرض المسار الفعلي القابل للتنفيذ الذي يحل الرقاقة إليه

asdf حيث - يعرض دليل تثبيت الأداة

asdf exec - ينفذ الرقاقة (تقريبًا مثل التنفيذ المباشر للرقاقة)

قارنت كل هذه الأوامر

يجب أن تكون بعض الأوامر بطيئة نسبيًا وأن تستغرق ثانية أو ثانيتين على الأقل حتى تكتمل. هذه الأوامر هي:

تثبيت asdf - تثبيت إصدار من الأداة

إضافة ملحق asdf - تثبيت البرنامج المساعد

asdf reshim - يجدد جميع الحشوات

من بين هذه الأوامر الثلاثة ، تلقيت شكاوى فقط حول أداء asdf reshim. إنها إلى حد بعيد الأبطأ من بين جميع أوامر asdf ، لذا قارنتها. غالبًا ما يكون تثبيت asdf بطيئًا ، ولكن أداءه مرتبط بنص تثبيت البرنامج المساعد ولا يتحكم فيه asdf ، لذلك تخطيته. تحليل مقارن

اخترت تشغيل معياري على الكمبيوتر المحمول الذي يعمل بنظام التشغيل Ubuntu بالإحصائيات التالية. $ lshw - قصير وصف فئة الجهاز مسار H / W =================================================== = == نظام 20DF0040US (LENOVO_MT_20DF_BU_Think_FM_ThinkPad E550) / 0 حافلة 20DF0040US / 0/3 32 كيلوبايت L1 مخبأ / 0/4 معالج Intel (R) Core (TM) i7-5500U ...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow