0Pricing
Java Academy · درس

المقاييس المرجعية

قِس أداء Streams التسلسلية مقارنةً بالمتوازية لحساب الإحصاءات.

المقاييس المرجعية درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 3 دروس في المجموع.

مقدمة

تقيس اختبارات الأداء فرق السرعة بين التدفقات التسلسلية والمتوازية.

الإعداد

استخدموا مجموعة بيانات كبيرة (مثل ملايين الأرقام)، وقيسوا وقت التنفيذ لحساب المجموع والمتوسط.

الشفرة: اختبار أداء تسلسلي

يقيس هذا وقت حساب المجموع تسلسليًا.

import java.util.*;public class Main {
  public static void main(String[] args) {
    List<Integer> nums = new ArrayList<>();
    for(int i=0;i<1_000_000;i++) nums.add(i);
    long start = System.currentTimeMillis();
    long sum = nums.stream().mapToLong(n -> n).sum();
    long time = System.currentTimeMillis() - start;
    System.out.println("Sequential sum=" + sum + " in " + time + "ms");
  }
}

الشفرة: اختبار أداء متوازٍ

يقيس هذا وقت حساب المجموع بالتوازي. وينبغي أن يكون أسرع مع مجموعات البيانات الكبيرة.

import java.util.*;public class Main {
  public static void main(String[] args) {
    List<Integer> nums = new ArrayList<>();
    for(int i=0;i<1_000_000;i++) nums.add(i);
    long start = System.currentTimeMillis();
    long sum = nums.parallelStream().mapToLong(n -> n).sum();
    long time = System.currentTimeMillis() - start;
    System.out.println("Parallel sum=" + sum + " in " + time + "ms");
  }
}

المقارنة

قارنوا الأوقات: إذا كانت البيانات كبيرة وكان الحمل متعلقًا بوحدة المعالجة المركزية، فسيكون التنفيذ المتوازي أسرع. أما في القوائم الصغيرة، فقد يتفوق التنفيذ التسلسلي.

الشفرة: اختبار أداء المتوسط

يمكنكم أيضًا اختبار أداء حساب المتوسطات لرؤية فرق السرعة.

import java.util.*;public class Main {
  public static void main(String[] args) {
    List<Integer> nums = new ArrayList<>();
    for(int i=0;i<1_000_000;i++) nums.add(i);
    long start = System.currentTimeMillis();
    double avg = nums.parallelStream().mapToInt(n -> n).average().orElse(0);
    long time = System.currentTimeMillis() - start;
    System.out.println("Parallel average=" + avg + " in " + time + "ms");
  }
}

فحص اختبار الأداء

فحص سريع: متى تُظهر التدفقات المتوازية عادةً فوائد في الأداء؟

مراجعة

مراجعة: أُجري اختبار أداء للتدفقات التسلسلية مقابل المتوازية. يتفوق التنفيذ المتوازي مع البيانات الكبيرة، وقد يكون التنفيذ التسلسلي أسرع مع البيانات الصغيرة.

الأسئلة الشائعة

هل درس «المقاييس المرجعية» مجاني؟

نعم — نص درس «المقاييس المرجعية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 3 دروس في المجموع.

ماذا ستتعلم في «المقاييس المرجعية»؟

قِس أداء Streams التسلسلية مقارنةً بالمتوازية لحساب الإحصاءات. تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟

لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.

كم من الوقت يستغرق درس «المقاييس المرجعية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟

نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. التصميم
  2. التنفيذ
  3. المقاييس المرجعية
← العودة إلى Java Academy