Visão Geral
O Curso High-Performance Python with C Programming, se concentra no suporte a código C legado para extensões Python e na escrita de novo código de alto desempenho com Cython. Este Curso High-Performance Python with C Programming, também ensina os participantes como empregar a API NumPy C para disponibilizar arrays NumPy em rotinas C.
Objetivo
Após realizar este você Curso High-Performance Python with C Programming, será capaz de:
- Crie perfis de aplicativos Python para identificar gargalos de desempenho
- Entenda os ganhos de velocidade das extensões Cython e C e como escolher a melhor opção para determinada aplicação.
- Interface Python com C usando ctypes FFI, extensões C e Cython
- Depurar código Python e C usando VS Code
- Use a API NumPy C
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico
Introduction
Profiling and Debugging
- Debugging Python and C code with VS Code
- Profiling Python Applications
- Speed Gains of Cython
- Speed Gains of C Extensions
- CPU-bound vs. IO-bound
- How to Choose the Best Option
Interfacing Python with C
- CTypes FFI
- C Extensions
- Cython
CTypes FFI
- Compile C code to a Shared Object
- Load Shared Object into Python
- Call C Functions from Python
- Python Structure Class
- Python Binary Formatted Strings
C Extensions
- Learn to use the Python C API documentation
- Basic Structure of a C Extension
- Compiling C Extensions
- Import C Extensions in Python
- Packaging C Extensions
- Using PyObject
- Managing Memory and Reference Counting
- Challenges of Multithreaded Programming and the GIL
- Challenges of Asynchronous Programming
NumPy and C Extensions
- Learn to use the NumPy C API documentation
- Using NumPy Arrays with C Code
- Passing NumPy Arrays to a C Extension
- Creating NumPy Arrays in a C Extension
- Using the NumPy C API
Cython
- What is Cython?
- Installing Cython
- Compile Python Code
- Python Code Decorations with Cython
- Create Python Extensions with Cython
- Challenges of Multithreaded Programming and the GIL
- Challenges of Asynchronous Programming
TENHO INTERESSE