Perfil

Elvis Teixeira @elvisTeixeira


Sobre mim

Físico e estudante de mestrado em ciência da computação com especial interesse em tecnologias de armazenamento e acesso a grandes volumes de dados, mineração de dados e aprendizado de máquina.

Propostas

Interoperabilidade entre Python e C++: Quando e como estender.

O objetivo da palestra é mostrar como a API C do interpretador Python pode ser usada para desenvolver módulos Python em código nativo (extensions) e construir sistemas híbridos, com partes escritas em Python e outras em C++.


Também serão discutidas as situações nas quais é vantajoso utilizar estas técnicas. Esta discussão consiste em deixar claro quando um sistema, ou parte dele, tem um gargalo de IO (IO-bound), situação na qual é vantajoso utilizar uma linguagem dinâmica como Python. E de forma semelhante, quando o gargalo é processamento (CPU-bound), situação na qual vale a pena usar código nativo e tipagem forte por motivos de performance, em particular C++14.


O problema inverso, embarcar scripts Python em aplicações C ou C++ e promover interoperabilidade entre sistemas existentes também será abordado. As tecnologias abordadas serão:


- A API C do interpretador Python mais usado (CPython)


- A biblioteca C++ boost::python que facilita a criação de extenções para o CPython.