.. image:: pystat.png
:height: 20
:alt: Statistique
:target: http://www.xavierdupre.fr/app/ensae_teaching_cs/helpsphinx/td_2a_notions.html#pour-un-profil-plutot-data-scientist
.. _l-2a-cplusplus-para-serie:
.. _l-acc-code-llvm:
C++, Accélération de code
+++++++++++++++++++++++++
.. toctree::
:maxdepth: 1
../notebooks/cffi_linear_regression
Un notebook avec :epkg:`C#` est disponible
avec le module :epkg:`csharpy`.
*Notebooks*
.. toctree::
:maxdepth: 2
../notebooks/_gs2a_langages
*Lectures*
* :ref:`l-python_cplusplus`
* `sklearn-compiledtrees `_ :
création d'une implémentation C++ de la fonction de décision d'un arbre de décision entraîné avec
scikit-learn
* `Just-in-time compilation `_
*Vidéos*
* `Making your code faster: Cython and parallel processing in the Jupyter Notebook `_
*Modules*
* `cffi `_
* `ctypes `_
* `boost_python `_
* `pybind11 `_
* `swig `_
* `numba `_ :
JIT, compilation à la volée de certaines parties d'un code
* `nuitka `_ :
compilation d'un programme python ou d'un module
(essaye de convertir un programe python en C)
* `pypy `_ :
compilation d'un programme python ou d'un module
(essaye de convertir un programe python en C)
* `cython `_ :
pseudo C (un mix entre C et Python), solution adoptée par scikit-learn
*Plus expérimental*
* `pythran `_ : conversion de code python
en C++ et compilation
* `pyston `_ (Python 2.7 seulement) :
réécriture de l'interpréteur Python pour être plus rapide.