Journal Frozen - Une alternative à gperf pour les utilisateurs de C++14 fan de constexpr

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
36
22
mai
2017

Ce journal présente frozen, une bibliothèque open-source, à base d'en-tête qui fournit une version rapide, non-modifiable, compatible avec une utilisation dans un contexte constexpr des bien connus std::set, std::map, std::unordered_map et std::unordered_set, pour C++14. Elle peut être utilisée comme une alternative à gperf.

Introduction

J'ai toujours trouvé frustrant qu'une variable globale déclarée const std::set<int> keys = {1, 2, 3} soit initialisée (…)

Journal Pythran chatouille Cython

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
32
4
jan.
2017

Bonsoir'nal

Peux-être te souviens-tu de Pythran, ce compilateur pour Python spécialisé pour le calcul scientifique ? Si ce n'est pas le cas Alzheimer te guette, mais une médicamentation est toujours possible :
- le tag pythran sur LinuxFr
- le blog technique du projet
Quoiqu'il en soit, j'ai eu l'envie soudaine, inopinée et irrésistible de me re-balader sur |StackOverflow](http://stackoverflow.com/) à le recherche d'un cas test à optimiser. Et là je tombe (ouille) sur ce post qui explore l'optimisation (…)

Journal Switch, chaîne constante et c++

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
16
31
août
2016

Salut 'Nal (ah non, ça marche pas)

Lors d'une discussion avec un collègue, ça chambrait 1 gentillement sur l'absence de switch sur des chaînes constantes en C++. Ça a déclenché quelques recherches de mon côté, et voilà ce que j'ai pu trouver (les codes qui suivent ne sont que le reflet de ce que j'ai pu lire en ligne, rien de nouveau sous le soleil brestois)

Approche LLVM : StringSwitch

Source : http://llvm.org/docs/doxygen/html/StringSwitch_8h_source.html

L'idée est de simuler une cascade de

(…)

Journal [C++14 ] Expressions template pour les nuls

45
31
mai
2016

Expression Templates pour les nuls

Après un contact prolongé avec Joël Falcou, et pas mal de nœuds aux cerveaux pour arriver à émuler le comportement du broadcasting de Numpy avec des expression templates dans Pythran, j'ai eu l'envie soudaine, un peu folle peut-être, de réécrire un moteur d'expressions template en C++14, mais pour faire simple et didactique.

Mais de quoi zy parle

Les expressions templates sont une maintenant assez vieille technique de C++ qui permet par exemple d'éviter de (…)

Journal Pythran 0.7.2 - détails techniques

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
28
15
oct.
2015

Termi' Nal (humour du 42ème degré),

Pythran, compilateur open source dédié au Python scientifique, vient tout juste de sortir sa version 0.7.2, à l'occasion de PyConFR où il sera présent. Ceux qui ont loupé la saison 1 de ce magnifique compilateur seront peut-être intéressés par le tag pythran.

Au lieu de vous résumer le Changelog, le reste de ce journal va vous parler de deux points techniques, un sur (…)

Journal Pythran 0.7 - PyDataParis

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
25
21
avr.
2015

Termi' Nal (humour du 42ème degré),

Pythran compilateur open source dédié au Python scientifique, a sorti sa version 0.7 il y a peu, à l'occasion du premier événement PyData organisé en France: PyData Paris. ±6 mois s'étaient écoulés depuis la dernière sortie de ce compilateur dont vous pouvez suivre les aventures trépidantes à travers le tag pythran.

Nouveautés

  • Meilleur support de Numpy, plus de fonctions, et (…)

Journal Automatiser les tests multi-plateforme avec Sivart

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
13
18
fév.
2015

Abat-jour' nal (variante médiocre sur un thème connu)

Lors de mes développements en C/C++, j'ai parfois besoin de tester la portabilité du code que j'écris, entre différentes architectures, ou quand j'ai des dépendances sur différentes versions d'ubuntu/Debian/*BSD. Et pourquoi pas OSX.

Alors d'habitude je teste sur ma machine, puis je lance une VM from scratch, je teste à la main, et c'est lourd et long, donc je ne le fais pas souvent/pas méthodiquement. J'utilise aussi travis-ci mais pour le multi-plateforme (…)

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

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
31
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  (site web personnel) . Licence CC By‑SA.
Étiquettes :
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  (site web personnel) . Licence CC By‑SA.
Étiquettes :
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  (site web personnel) . Licence CC By‑SA.
Étiquettes :
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  (site web personnel) . Licence CC By‑SA.
Étiquettes :
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  (site web personnel) . Licence CC By‑SA.
Étiquettes :
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

Posté par  (site web personnel) . Licence CC By‑SA.
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  (site web personnel) . Licence CC By‑SA.
Étiquettes :
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 (…)