"A guide through the bindings generation process"
This repository has all the content of the talk from the conference.
The examples contain a simple implementation of a Hello World
written in C and C++, then a basic implementation using different tools
is used to expose the function to Python.
cpython
, using a simple raw CPython implementation for the function.ctypes
, to load the shared library (not used in the talk).- Boost::python
- SWIG
- shiboken
- pyBind11
- cffi
- cppyy
- sip
A more useful example related to glob
is included too in the directory
fastglob. This example uses the <filesystem>
C++ library to achieve
a similar result as glob
and Pathlib.glob
.
fastglob
, directory with the implementation of the module.data
, 1000 directories with 1000 empty files each.glob_list.py
, listing usingglob
.pathlib_list.py
, listing usingPathlib
.fastglob_list.py
, listing usingfastglob
.benchmark_1.sh
, benchmark using/usr/bin/time
.benchmark_2.py
, benchmark usingtime
.
You can check the slides here! to write them I used reveal.js.