Journal Quand Pythran fait tourner du Python plus vite que du C++, c'est que...

Posté par (page perso) . Licence CC by-sa
30
26
juin
2014

Yo standard (un stdyo en quelque sorte)

Un utilisateur de Pythran m'a récemment conseiller de regarder le benchmark que voilà et de comparer Pythran à l'ensemble.

L'article associé essaie de comparer l'implémentation d'un algo dans différents langages, un peu à la computer language benchamrk. Pourquoi pas.

Ni une, ni deux, je choppe les sources C++, Python et Python + Jit (Mumba en l'occurrence), je compile et lance les benchs. Rien de très surprenant:

$ python RBC_Python.py
[
(...)

Journal Le retour de pacman en beamer

Posté par (page perso) . Licence CC by-sa
Tags :
25
28
mar.
2014

Salut à tous !

Il y a quelque temps déjà, j'avais présenté ici même une nouvelle façon d'afficher le compteur de slide en beamer, à l'aide d'une petit pacman dévorant avidement le nombre de page…

Tout y était : le pacman, les p'tits bonbons blancs, les plus gros… mais il manquait le fantôme, malheureux protagoniste oublié de l'histoire.

L'erreur est réparée, comme vous pouvez l'observer avec émotion sur cette présentation. Le paquet LaTeX à inclure est bien sûr dispo.

(...)

Journal Brèves de Pythran

Posté par (page perso) . Licence CC by-sa
33
22
jan.
2014

Commençons très fort : « comment allez vous, yau de poële ?»

Aux détours de mes pérégrination dans le monde de l'open source à travers ce magnifique projet de traducteur Python Scientifique vers C++ que certains d'entre vous suivent depuis quelque temps déjà, le (bien connu ?) Pythran, j'apprends plein de truc. Alors hop on partage !

Au programme (ahah) :

  • de la conception d'un logo
  • des temps de compilation en C++
  • de la gloire

Pleins de projets ont un (...)

Journal Pythran part à SuperComputing

Posté par (page perso) . Licence CC by-sa
33
15
nov.
2013

Yo,

Pythran est un compilateur qui traduit des modules Python sans classes utilisateurs et implicitement statiquement typé en méta-programmes C++. Sa vie a déjà été évoquée sur linuxfr à plusieurs reprises.

Après PyConFR, SciPy Pythran continue sa montée en puissance et va se frotter aux grands lors d'un workshop à Super Computing, la grand messe du calcul haute performance: PyHPC.

On y parlera des directives OpenMP et de leur intégration dans Python. Quelques progrès en la matière, puisqu'avant, (...)

Journal Pythran revient de SciPy2013

Posté par (page perso) . Licence CC by-sa
Tags :
16
15
juil.
2013

Salut les réptiles,

Pythran est un compilateur Python vers C++ ciblé pour le calcul scientifique, dont je vous ai déjà parlé à de nombreuses reprises.

À la fin de l'épisode précedent, je partais pour les US et présenter mon bébé au monde entier. Voici donc mon carnet de notes virtuels.

Déjà il faut répéter ses présentations, sinon ça donne ça, où l'on voit que je ferais bien d'apprendre à me tenir droit…

Ensuite j'ai eu quelques (...)

Journal Pythran à Scipy2013 !

Posté par (page perso) . Licence CC by-sa
Tags :
37
4
juin
2013

Ô joie, le compilo Pythran dont les évolutions sont suivies par une foule Linuxienne en délire, a droit de citer lors de la grand messe annuelle du Python scientifique, Scipy2013, plus exactement .

Un grand merci à vous tous qui répondez, critiquez, hurlez, piaillez dans les différents journaux pythranesques, ça m'aide beaucoup pour la motivation, et aussi pour améliorer les choses.

Comme le défi Pythran, c'est d'avoir de la perf en gardant la syntaxe Python, et vu que (...)

Journal avec Pythran, Numpy file comme le vent

46
5
avr.
2013

Salut mon petit journal,

je te tiens de temps en temps au courant des avancement de Pythran, ze convertisseur Python -> C++ dédié au calcul scientifique. La dernière fois que nous avons discuté, tu m'avais dit de repasser te voir quand je serais capable de supporter ce genre de calculs:

import numpy as np
n = 100000
b, c = np.ones(n), np.ones(n)
d = np.sqrt(b
(...)

Journal Pythran 0.2 : Python peut-il être aussi rapide que du C ?

Posté par (page perso) . Licence CC by-sa
Tags :
19
17
fév.
2013

Salut petit journal, toi qui est fan de Pythran :-)
Mais oui, tu sais, ce traducteur Python -> C++ pour le prototypage d'algorithmes dans cette merveille d'expressivité et de concision qu'est le Python ! Sinon, je te renvoie à http://pythonhosted.org/pythran/ où tu trouveras un peu de matière à te mettre sous la dent.

Tu as sûrement déjà lu ces deux posts un peu vieux mais assez cocasses :

mais sais tu que Pythran commence à générer du code qui (...)

Journal Pythran : C++ pour les serpents

Posté par (page perso) . Licence CC by-sa
Tags :
26
5
déc.
2012

Salut à toi, mon petit journal
Ça fait bien longtemps que je ne t'ai pas parlé de mon petit bébé cybernétique, Pythran.

Tu te rappelles de lui ? C'est un convertisseur d'un sous ensemble du langage Python vers C++11. L'idée est de mutiler légèrement le langage Python (hop, plus de classes) et d'ajouter des contraintes de typage statique pour générer un module natif optimisé à partir d'un module écrit en Python.

Sommaire

  • Résumé des épisodes Précédents
  • Optimisations statiques
  • Projet Euler
  • (...)

Journal pythran prépare sa mue

Posté par (page perso) . Licence CC by-sa
Tags :
14
30
août
2012

SSS Ss SsSS SSs s [un serpent qui vous salue en morse, c'est pas banal!]

Comme tout animal à sang froid, Pythran a profité de l'été pour s'allonger sur un rocher et emmagasiner de la chaleur. Quand un humain s'adonne à cette activité, ce n'est pas très progressif, mais là ça a plutôt bien marché.

Petit résumé.

Tests Unitaires

Pythran repose sur unittest pour les tests unitaires. Un test consiste en
1. Une fonction écrite en python ;
2. des paramètres (...)

Journal Pyth(on|ran) + OpenMP ?

Posté par (page perso) . Licence CC by-sa
20
7
août
2012

Youpi [le monde est beau]

Vous n'êtes pas sans savoir que le parallélisme en mémoire partagé et python, c'est pas la joie. La faute à ce cher Gilles qui bride complètement le parallélisme. Les solutions alternatives se basent donc sur des processus lourds, comme inventorié dans cette excellente page.

Personnellement, j'aime bien utiliser les directives OpenMP pour paralléliser des applications natives. C'est concis, incrémental et non-intrusif.

Heureux papa du projet pythran, qui permet justement de traduire (...)

Journal Python et valeurs par défaut des paramètres

Posté par (page perso) . Licence CC by-sa
Tags :
11
31
juil.
2012

Bonjooour les zamis [ bienvenue au pays trop mignon ]

Au cours de mes pérégrination pythranesques, j'ai découvert une fleur du langage python, que je m'empresse de partager.

D'après vous, qu'affiche la séquence suivante ?

def foo(a=list()): return a
foo().append(1)
foo().append(2)
print foo()

Et hop une manière détournée (et hideuse, elle n'a donc pas à sa place au pays trop mignon) d'avoir (...)

Journal pythran rampe

Posté par (page perso) . Licence CC by-sa
23
16
juil.
2012

Le titre « pythran est en marche » me paraissait bizarre pour un outil qui a trait aux serpents…

Dans ma folie bienheureuse, et faisant fi des avis pessimistes, j'ai tenté de passer un code résolvant le problème des Nreines dans la moulinette pythran. Après de nombreux hacks optimisations, les résultats tombent:

  • python: 1.34s
  • pypy: 0.56s
  • nuitka: 1.34s
  • shedskin: 0.61s
  • pythran: 0.32s

\o/ le bébé s'en sort bien.

Pour être honnête il faut bien avouer que pythran ne supportant pas encore (...)

Journal pythran: python -> c++

Posté par (page perso) . Licence CC by-sa
30
8
juil.
2012

La lecture quotidienne des journaux m'avertit qu'il y a de nombreux pythonistes dans le coin, alors…

Dans ma pratique régulière du Python (et n'oubliez pas : manger 5 langages par jour pour être bien en forme !), je prends un grand plaisir à coder des algos à base de liste / ensembles / dictionnaires le tout dans une petite sauce fonctionnelle. C'est loin d'être la seule façon de programmer en Python mais c'est comme ça que je fais.

Bien sûr, tout (...)

Journal un pacman en LaTeX

Posté par (page perso) . Licence CC by-sa
Tags :
46
5
juil.
2012

(non, ce titre n'annonce pas un tout nouveau gadget pour amateurs de vintage game)
Yo,
quand j'étais en thèse, je faisais pleins de petites présentations informelles pour présenter mes modestes travaux etc, et pour avoir la classe j'utilisais la classe LaTeX beamer. Pratique, élégant, sobre, rapide etc, mais alors pas du tout funky.

Alors pour mettre un peu d'ambiance,
dans mon quartier de vieux débris,
j'ai regroupé toutes mes connaissances,
intellectuelles et c'est depuis que…

j'ai produit un petit (...)