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

السؤال

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 فهو مسرع يحول كود بايثون البطيء إلى كود سريع

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...