اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

وعليكم السلام ورحمة الله وبركاته.

إن NumPy هي مكتبة أساسية للتعامل مع المصفوفات  والعمليات الرياضية عالية الكفاءة وهي مكتوبة في الأساس بلغة C ولهذا حساباتها أسرع بكثير من الحلقات العادية في بايثون حيث تقدم أدوات كثيرة جاهزة مثل:

  • عمليات الجبر الخطي (Linear Algebra).
  • والتحويلات الفورييه.
  • والدوال الإحصائية.
  • ةالتعامل مع الأعداد الكبيرة في الحجم.

أى يمكننا أن نقول أنها أداة رياضية تعطيك واجهة في لغة بايثون سهلة لكنها تعمل بكود مكتبة بلغى C في الخلفية.

أما Numba فهي مكتبة مختلفة ووظيفتها تسريع كود بايثون نفسه عن طريق التحويل إلى كود آلة (JIT Compilation) .

وأنت تقوم بكتابة دالة عادية وتضيف decorator هكذا مثلا :

from numba import jit

@jit(nopython=True)
def add(x, y):
    return x + y

والنتيجة أن الكود يتحول عند التشغيل إلى لغة منخفضة المستوى (Assembly) ويصبح قريب في الأداء من لغة C .

وهو مفيد عندما تكتب حلقات for أو عمليات متكررة معقدة لا يمكن أن تكتبها كلها بدوال NumPy الجاهزة.

إذا يمكننا التخليص بأن NumPy هي مكتبة رياضية جاهزة تعطيك دوال وأدوات أما Numba فهو مسرع يحول كود بايثون البطيء إلى كود سريع

  • 0
نشر
بتاريخ 23 ساعة قال Ali Ahmed55:

السلام عليكم

ما الفرق بين مكتبة NumPy ومكتبة Numba في لغة بايثون؟

وعليكم السلام،

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

أما مكتبة Numba فهي تساعد على تسريع البرنامج عندما تكتب تعليمات بايثون بنفسك وتريد أن تجعلها أسرع مثل لغة البرمجة C فمثلا إذا كتبت حلقة (loop) تحسب أرقام كثيرة Numba ستجعل هذه الحلقة تعمل بسرعة كبيرة.

فكلاهما ستساعدانك لكن كل واحدة له دور مختلف ف NumPy للبيانات وعملياتها وNumba لتسريع التعليمات التي تكتبها بنفسك.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...