بايثون بطيئة! كيف تجعلها أسرع لـ 453 مليون عملية في الثانية؟ تعلم Cython Numba PyPy الآن
بايثون بطيئة! هي يمكن جعلها أسرع؟ إنها لُغةٌ سهلة التعلم، لكنها صعبةُ الإتقان 🤫 سوف يذهلك هذا السر !
بايثون إنها أروع لغة برمجة على الإطلاقِ -يقول البعض- لولا عيبٌ خطيرٌ يُهدد وجودها ويسير بها نحو الفناء ، البعض الآخر يراها فوق الفناء والزوال فهي وُجدت لتُحَب رغم عيوبها .. وسيبقى الفريقان في جدل مستمر !
فريق يرى مسألة البطء والسرعة في لغة بايثون مشكلة عظيمة لا يمكن للمبرمج غض البصر عنها ، وفريق يقول : بايثون لغة برمجة بطيئة! نعم ولكن لا يهم لأننا نستطيع جعلها أسرع لـ نصف مليار عملية في الثانية !
جدلٌ جئنا اليوم كي نقوم بحسمه للأبد ، فلقد حان الوقت لوضع لغة بايثون رهن التحقيق ، لإزالة الغموض عن أسوء شُبهةٍ وأخطر تُهمة في عالم لغات البرمجة على الإطلاق : الآداءُ السيء والبطء ! اليوم ستشاهدون واحدة من أفضل حلقات البرنامج !
في هذه الحلقة سنتعرف عن قربٍ على التصميم الداخلي للغة بايثون ، كيف يؤثر على الآداء، ما الذي يحصل في الكواليس، وكيف تعمل لغة بايثون؟، وما طبيعة العلاقة بينها وبين لغة السي ؟!
خلال كل هذا ستتعرف على الـ Compiler و الـ Interpreter وعلى الرحلة التي يقطعها الكود الخاص بك ليصل إلى لغة الآلة ويخاطب مُعالجات الكومبيوتر ، سنتعرف على الـ dynamic typing والـ multiprocessing ، والأهم وهو أهم شيء على الإطلاق :
كيف تجعل لغة بايثون أسرع ؟ بآلاف المرات ، وستتضمن الحلقة شرحا عمليا لـ Cython و Numba و PyPy ، والكثير من المواضيع المهمة الأخرى ، وصدقني أيضا إذا أخبرتك بأن هذا الشرح سيكون صديقاً للمبتدئين beginner friendly !
🔥 إذا كنت مهتم بهذه المواضيع ، أنصحك بتفعيل الإشعار، ولا تنسى تسجيل الإعجاب والإشتراك في القناة
🔴 كل المصادر والأكود والروابط موجودة هنا في مستودع الجيت هب الخاص بالحلقة :
https://github.com/Pythonation/python-fast-as-450million-op-in-sec
🔴 فهرس الحلقة :
🕒 00:00 بايثون لغة بطيئة :الأسباب المشاكل الحلول (مقدمة)
مقدمة الحلقة
🕒 01:33 ماذا نقصد بالبطء؟ الفرق بينه وبين الإنتظار في البرمجة
في هذا الجزء سنتحدث عن كيف يمكن أن تكون شفرتك بطيئةً لعدة أسباب ، والتي ليست كلها خطأ لغة البرمجة .. سنتحدث عن نوعين من المهام :
مهام الإدخال والإخراج Inputs Outputs والتي يطلق عليها اختصارا الـ I/O Tasks ومهام وحدة المعالجة CPU Tasks
🕒 02:50 الطفولة المبكرة للغة بايثون
كيف نشأت لغة بايثون وكيف تطورت من لغة ABC وكيف وصلتنا اليوم .
🕒02:50 لغة بايثون: intrpreter vs compiler
سنتحدث بالتفصيل عن آلية المُترجم وآلية المفسر وعن كيف تعمل بايثون مقابل لغة السي .
🕒04:44 المبحث الأول بايثون لغة برمجة مُفسَّرة
علاقة بايثون بلغة السي وتعمق أكثر في آلية تفسير الأكواد
🕒06:44 المبحث الثاني: بايثون لغة ديناميكية النمط
لغة بايثون: dynamic typing vs static typing
🕒07:43 المبحث الثالث : بايثون تجمع القمامة Python is a garbage-collected language
جامع القُمامة Python garbage-collector
كلام عن جامع القمامة في لغة بايثون ،دوره؟ وكيف يسبب البطء؟
🕒08:45 المبحث الرابع : Python Global Interpreter Lock
تعريف وشرح لسبب وجود قاتل الخيوط Python GIL، أيضا سيتطرق الكلام إلى المعالجة المتوازية وكيف يتم تنفيذ خيوط الكود على المعالج ،
🕒11:53 كيف نجعل لغة بايثون أسرع
شرحنا كيف أن لغة بايثون تضع سمعتها وسرعتها محل الشُبهة مُقابل تبسيط الأمور ، هذا الأمر ما كنا لُنبادله بأي شيء لأن الإنتاجية شيء مهم جداً ، بايثون تساعدنا على إنهاء المشاريع وفي المقابل كم من مشروع إستطعنا إنهاءه بلغة C ؟
ما قيمة الأداء إذا كانت الإنتاجية ستتجه إلى الهاوية ؟ توصلنا أن هُناك بعض الحلول للحصول على آداءِ لغةِ السي + ببساطةِ بايثون ، يتصادف أيضاً أن هذه الحلول من المهارات الأكثر طلباً اليوم .
🕒12:33 الحل الأول : سايثون Cythonسيثون
الحديث في هذا الجزء سيتطرق لـ سايثون كونه أكثر الحلول شعبية حين يتعلق الأمر بقوة الأداء في بايثون ، لأن مايكروسوفت و جوجل تستخدمانها،الكثير من المصادر تعرف سايثون على أنها لغة برمجة ، في الحقيقة هي أكثر من ذلك لأن سايثون هي كذلك عبارة عن مترجِم ثابت static compiler محسَّن لكل من لغة بايثون ولغة بايريكسPyrex معاً، وهذا ما سنتعرف عليه بالتفصيل .
🕒13:40 ما هو Cythonوكيف يعمل ؟
🕒14:42 كيف نقوم بتثبيت Cython ؟
🕒16:33 شرح Cython و بايثون
في هذا الجزء سنشرح بأكثر بساطة ممكنة كيف تكتب وتنفذ أول كود لك في cython
مصادر قوية لكي تتعلم منها Cython :
Best cython course in youtube by @pythonist
https://www.youtube.com/playlist?list=PLMOobVGrchXNbTrmUb8_3yZNscK3rle3B
best Cython lectures ,by @enthought
https://www.youtube.com/c/enthought/search?query=cython
23:37 الحل الثاني : Numba python
هنا سنتطرق لأحد أسهل الحلول القوية لجعل لغة بايثون فائقة الأداء والسرعة ،نتكلم عن مكتبة numba .
Numba تُترجم الكود الخاص ببايثون إلى لغة الآلة بالإعتماد على مُحول الـ LLVM ، تقوم Numba بترجمة الوظائف المكتوبة بلغة بايثون إلى لغة الآلة في وقت التشغيل ، باستخدام مترجِم يُدعى الـ LLVM.
23:55 ما هي Numba وكيف تعمل ؟
24:33 كيف نقوم بتثبيت Numba ؟
25:46 شرح Numba jit و Numba Prange
26:35 Numba VS Cython
27:03 الحل الثالث : باي باي PyPy
PyPy هو بديل كامل لـ CPython يمكن تثبيته بدل لغة بايثون ، الأمر العجيب أنه مكتوب بلغة بايثون نفسها . السبب الرئيسي لاستخدامه بدلاً من Python هو السرعة ! قبل أن نعرف لماذا هو أسرع ، إليك معلومة ستفجر دماغك سنتحدث عنه في هذا الجزء .
28:07 ما هو PyPyوكيف يعمل ؟
28:39 كيف نقوم بتثبيت PyPy ؟
29:00 كيفية استخدام PyPy
33:16 حلول أخرى تستحق الذكر
33:31 PyPy VS Cpython VS Numba VS Cython
في هذا الجزء سنركز على مقارنة النتائج التي توصلنا إليها .
Видео بايثون بطيئة! كيف تجعلها أسرع لـ 453 مليون عملية في الثانية؟ تعلم Cython Numba PyPy الآن канала Python Arabic Community
بايثون إنها أروع لغة برمجة على الإطلاقِ -يقول البعض- لولا عيبٌ خطيرٌ يُهدد وجودها ويسير بها نحو الفناء ، البعض الآخر يراها فوق الفناء والزوال فهي وُجدت لتُحَب رغم عيوبها .. وسيبقى الفريقان في جدل مستمر !
فريق يرى مسألة البطء والسرعة في لغة بايثون مشكلة عظيمة لا يمكن للمبرمج غض البصر عنها ، وفريق يقول : بايثون لغة برمجة بطيئة! نعم ولكن لا يهم لأننا نستطيع جعلها أسرع لـ نصف مليار عملية في الثانية !
جدلٌ جئنا اليوم كي نقوم بحسمه للأبد ، فلقد حان الوقت لوضع لغة بايثون رهن التحقيق ، لإزالة الغموض عن أسوء شُبهةٍ وأخطر تُهمة في عالم لغات البرمجة على الإطلاق : الآداءُ السيء والبطء ! اليوم ستشاهدون واحدة من أفضل حلقات البرنامج !
في هذه الحلقة سنتعرف عن قربٍ على التصميم الداخلي للغة بايثون ، كيف يؤثر على الآداء، ما الذي يحصل في الكواليس، وكيف تعمل لغة بايثون؟، وما طبيعة العلاقة بينها وبين لغة السي ؟!
خلال كل هذا ستتعرف على الـ Compiler و الـ Interpreter وعلى الرحلة التي يقطعها الكود الخاص بك ليصل إلى لغة الآلة ويخاطب مُعالجات الكومبيوتر ، سنتعرف على الـ dynamic typing والـ multiprocessing ، والأهم وهو أهم شيء على الإطلاق :
كيف تجعل لغة بايثون أسرع ؟ بآلاف المرات ، وستتضمن الحلقة شرحا عمليا لـ Cython و Numba و PyPy ، والكثير من المواضيع المهمة الأخرى ، وصدقني أيضا إذا أخبرتك بأن هذا الشرح سيكون صديقاً للمبتدئين beginner friendly !
🔥 إذا كنت مهتم بهذه المواضيع ، أنصحك بتفعيل الإشعار، ولا تنسى تسجيل الإعجاب والإشتراك في القناة
🔴 كل المصادر والأكود والروابط موجودة هنا في مستودع الجيت هب الخاص بالحلقة :
https://github.com/Pythonation/python-fast-as-450million-op-in-sec
🔴 فهرس الحلقة :
🕒 00:00 بايثون لغة بطيئة :الأسباب المشاكل الحلول (مقدمة)
مقدمة الحلقة
🕒 01:33 ماذا نقصد بالبطء؟ الفرق بينه وبين الإنتظار في البرمجة
في هذا الجزء سنتحدث عن كيف يمكن أن تكون شفرتك بطيئةً لعدة أسباب ، والتي ليست كلها خطأ لغة البرمجة .. سنتحدث عن نوعين من المهام :
مهام الإدخال والإخراج Inputs Outputs والتي يطلق عليها اختصارا الـ I/O Tasks ومهام وحدة المعالجة CPU Tasks
🕒 02:50 الطفولة المبكرة للغة بايثون
كيف نشأت لغة بايثون وكيف تطورت من لغة ABC وكيف وصلتنا اليوم .
🕒02:50 لغة بايثون: intrpreter vs compiler
سنتحدث بالتفصيل عن آلية المُترجم وآلية المفسر وعن كيف تعمل بايثون مقابل لغة السي .
🕒04:44 المبحث الأول بايثون لغة برمجة مُفسَّرة
علاقة بايثون بلغة السي وتعمق أكثر في آلية تفسير الأكواد
🕒06:44 المبحث الثاني: بايثون لغة ديناميكية النمط
لغة بايثون: dynamic typing vs static typing
🕒07:43 المبحث الثالث : بايثون تجمع القمامة Python is a garbage-collected language
جامع القُمامة Python garbage-collector
كلام عن جامع القمامة في لغة بايثون ،دوره؟ وكيف يسبب البطء؟
🕒08:45 المبحث الرابع : Python Global Interpreter Lock
تعريف وشرح لسبب وجود قاتل الخيوط Python GIL، أيضا سيتطرق الكلام إلى المعالجة المتوازية وكيف يتم تنفيذ خيوط الكود على المعالج ،
🕒11:53 كيف نجعل لغة بايثون أسرع
شرحنا كيف أن لغة بايثون تضع سمعتها وسرعتها محل الشُبهة مُقابل تبسيط الأمور ، هذا الأمر ما كنا لُنبادله بأي شيء لأن الإنتاجية شيء مهم جداً ، بايثون تساعدنا على إنهاء المشاريع وفي المقابل كم من مشروع إستطعنا إنهاءه بلغة C ؟
ما قيمة الأداء إذا كانت الإنتاجية ستتجه إلى الهاوية ؟ توصلنا أن هُناك بعض الحلول للحصول على آداءِ لغةِ السي + ببساطةِ بايثون ، يتصادف أيضاً أن هذه الحلول من المهارات الأكثر طلباً اليوم .
🕒12:33 الحل الأول : سايثون Cythonسيثون
الحديث في هذا الجزء سيتطرق لـ سايثون كونه أكثر الحلول شعبية حين يتعلق الأمر بقوة الأداء في بايثون ، لأن مايكروسوفت و جوجل تستخدمانها،الكثير من المصادر تعرف سايثون على أنها لغة برمجة ، في الحقيقة هي أكثر من ذلك لأن سايثون هي كذلك عبارة عن مترجِم ثابت static compiler محسَّن لكل من لغة بايثون ولغة بايريكسPyrex معاً، وهذا ما سنتعرف عليه بالتفصيل .
🕒13:40 ما هو Cythonوكيف يعمل ؟
🕒14:42 كيف نقوم بتثبيت Cython ؟
🕒16:33 شرح Cython و بايثون
في هذا الجزء سنشرح بأكثر بساطة ممكنة كيف تكتب وتنفذ أول كود لك في cython
مصادر قوية لكي تتعلم منها Cython :
Best cython course in youtube by @pythonist
https://www.youtube.com/playlist?list=PLMOobVGrchXNbTrmUb8_3yZNscK3rle3B
best Cython lectures ,by @enthought
https://www.youtube.com/c/enthought/search?query=cython
23:37 الحل الثاني : Numba python
هنا سنتطرق لأحد أسهل الحلول القوية لجعل لغة بايثون فائقة الأداء والسرعة ،نتكلم عن مكتبة numba .
Numba تُترجم الكود الخاص ببايثون إلى لغة الآلة بالإعتماد على مُحول الـ LLVM ، تقوم Numba بترجمة الوظائف المكتوبة بلغة بايثون إلى لغة الآلة في وقت التشغيل ، باستخدام مترجِم يُدعى الـ LLVM.
23:55 ما هي Numba وكيف تعمل ؟
24:33 كيف نقوم بتثبيت Numba ؟
25:46 شرح Numba jit و Numba Prange
26:35 Numba VS Cython
27:03 الحل الثالث : باي باي PyPy
PyPy هو بديل كامل لـ CPython يمكن تثبيته بدل لغة بايثون ، الأمر العجيب أنه مكتوب بلغة بايثون نفسها . السبب الرئيسي لاستخدامه بدلاً من Python هو السرعة ! قبل أن نعرف لماذا هو أسرع ، إليك معلومة ستفجر دماغك سنتحدث عنه في هذا الجزء .
28:07 ما هو PyPyوكيف يعمل ؟
28:39 كيف نقوم بتثبيت PyPy ؟
29:00 كيفية استخدام PyPy
33:16 حلول أخرى تستحق الذكر
33:31 PyPy VS Cpython VS Numba VS Cython
في هذا الجزء سنركز على مقارنة النتائج التي توصلنا إليها .
Видео بايثون بطيئة! كيف تجعلها أسرع لـ 453 مليون عملية في الثانية؟ تعلم Cython Numba PyPy الآن канала Python Arabic Community
بايثون python تعلم لغة بايثون python cython بايثون بطيئة بايثون أسرع C++ c لغة بايثون لغة البايثون سايثون شرح cython شرح numba شرح pypy شرح numba jit python شرح بايثون 3 python programming بايثون بالعربي Cython Numba PyPy برمجة بايثون jit compiler pyx تعلم البرمجة numba vs cython scipy تعلم numpy الذكاء الاصطناعي تسريع بايثون data science مجتمع بايثون العربي
Комментарии отсутствуют
Информация о видео
16 октября 2022 г. 17:45:07
00:33:16
Другие видео канала



















