ليش الشفرة متعددة الخيوط مش بتسريع كود بايثون؟ كيف بقدر إصلاحه.
بايثون بيحد الوصول للمترجم مع قفل المترجم العالمي، والمعروف باسم GIL، لمتطلبات سلامة التسلسل الداخلي. لسوء الحظ، قرار التصميم هذا يسمح بس بخيط واحد ليفسر رمز بايثون في وقت واحد، حتى على جهاز قادر على تشغيل عدة خيوط مع بعض.  اذا كنت تريد تشغيل كود بايثون على مجموعة من البيانات، و البيانات ممكن تتقسمت الى شرائح مستقلة (عملية معروفة باسم تقسيم البيانات) ، ممكن تبحث في مكتبة المعالجة المتعددة في بايثون.  على سبيل المثال، فكر في الدالة foo اللي بتأخذ دليل واحد، arg1، وقول انك بدك تدير دالة foo على عدد من القيم، مثلا، val1، val2، و val3.  def foo(arg1): # اعمل حاجة  if __name__ == '__main__': foo (((val1) فووال هيك؟  عشان يعمل foo على كتير من العمليات معا، ممكن تستخدم مجموعة المعالجة المتعددة لتشغيل كتير من العمليات العاملة معا:  من مجموعة الاستيراد المتعددة المعالجة  def foo(arg1): # اعمل حاجة  if __name__ == '__main__': p = تجمع p.map(foo، [val1, val2, val3])  مكتبة المعالجة المتعددة بتوفر أيضاً العديد من واجهات برمجة التطبيقات الأخرى للبرمجة المتوازية. بتحب تعرف أكتر؟