برمجياتقراءة دقيقتين

Alex Kladov يقترح قاعدة للـ microbenchmark: اضبط المدخل حتى يستغرق القياس نحو 300 ميلي ثانية

المغزى

المغزى: القياس الذي يستغرق أقل من 10 ميلي ثانية يقيس أدوات القياس أكثر مما يقيس الكود، والـ benchmark أداة لبناء الحدس لا آلة دقة.

نشر Alex Kladov، المعروف باسم matklad وأحد كاتبي rust-analyzer، في 5 أكتوبر 2026 مقالة قصيرة يقترح فيها قاعدة واحدة للـ microbenchmark، أي قياس أداء جزء صغير من الكود: يُضبط حجم المدخل حتى يستغرق القياس نحو 300 ميلي ثانية.

والسبب الذي يذكره بسيط. فالميلي ثانية، بحسب قوله، “أعداد صحيحة من 1 إلى 999”، وهي دقة تكفي لملاحظة تحسن صغير، وسهلة على العين عند قراءة النتائج.

ويضع للقاعدة حدّين. فإذا كان القياس أقل من 10 ميلي ثانية، تبدأ الكلفة الثابتة للتشغيل في تشويه الرقم، فيصبح ما يُقاس هو أدوات القياس نفسها لا الكود. وإذا تجاوز ثانية واحدة، تتباطأ دورة التجربة حتى يتوقف المطور عن التجريب.

وبين الحدين تقع مئات الميلي ثانية، وهي مدة يدركها الإنسان بحواسه. ويعني ذلك أن المطور يستطيع أن يقارن بين سرعتين بالإحساس، دون الحاجة إلى جدول.

وخلف القاعدة فكرة أعم في المقالة: الـ benchmark أداة لبناء الحدس، لا جهاز قياس دقيق. ومطاردة النانو ثانية قد تنتهي بأرقام صحيحة لا يمكن اتخاذ قرار على أساسها.

وتنطبق القاعدة على أدوات القياس الشائعة، مثل hyperfine وCriterion في Rust ووحدة timeit في Python. وتمس بشكل خاص المطورين الذين يكتبون أول benchmarks لهم، فالقياسات التي تجري اليوم تحت 10 ميلي ثانية قد تعرض ضجيجًا يُقرأ على أنه نتيجة.

المصادر

  1. مقالة Benchmark in Milliseconds
  2. مدونة Alex Kladov
  3. أداة hyperfine
  4. مكتبة Criterion للـ Rust
  5. وحدة timeit في Python

من عدد الأربعاء 26 ربيع الآخر - 7 أكتوبر

أخبار ذات صلة

أخبار الأربعاء 26 ربيع الآخر - 7 أكتوبر