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