A tanfolyamról
A tanfolyamon a Python programok teljesítmény-hangolásába adunk bevezetést. Bemutatjuk, hogy a CPython megvalósításban, a teljesítményt befolyásoló elemeket. Megismerkedünk a teljesítmény mérését és növelését lehetővé tevő eszközökkel.
A tanfolyam célja:
- megérteni a CPython megvalósítás felépítését és, hogy ez hogyan hat a teljesítményre
- megismerni a Python programunk gyorsítását szolgáló lehetőségeket
Tematika
1. Mennyire gyors a CPython?
1.1 Nyelvi elemek hatékonysága
1.2 Adatszerkezetek hatékonysága
2 CPython belülről
2.1 Fordítási folyamat
2.2 Python VM köztes kód
2.3 Python verem gép
3. Teljesítménymérés
3.1 A teljesítmény problémák forrásai
3.2 Futási sebesség mérése
3.3 Memória használat mérése
3.4 Optimális adatszerkezet választás
3.5 Python programok fordítása
4. Programok párhuzamosítása
4.1 Alap koncepciók
4.2 concurent.futures csomag használata
4.3 asyncio csomag használata
4.4 multiprocessing csomag használata
4.5 További keretrendszerek
5. További gyorsítási lehetőségek
5.1 C modulok
5.2 Cython modulok
5.3 Numba
5.4 PyPy
5.5 Nuitka
6. Python skálázása több számítógépen
6.1 PySpark
6.2 Dask
6.3 MPI
Kinek ajánljuk
Előfeltételek
Python nyelv fejlesztői szintű ismerete