Convertir programme en Python de code C/C++?

est-il possible de convertir un programme en Python pour C/C++?

J'ai besoin de mettre en œuvre quelques algorithmes, et je ne suis pas sûr si l'écart de performance est assez grand pour justifier toute la douleur que j'irais quand le faire en C/C++ (que je ne suis pas très bonne). J'ai pensé à écrire un algorithme simple et de référence contre une telle solution de conversion. Si cela seul est nettement plus rapide que la version de Python, je n'ai pas d'autre choix que de le faire en C/C++.

  • Autant que Python perd sur des points de référence, gardez à l'esprit que 50x ou 100x ralentissement est encore negible si le calcul se termine en quelques secondes en Python, et même pas vrai lorsque vous faites beaucoup d'I/O, ou d'avoir un horrible algorithme. Plutôt que de demander "comment, beaucoup plus lente, Python?" vous devriez demander "est Python assez vite?" (et plus probablement est, honnêtement) - qui est également plus rapide que l'analyse comparative ou de demander ici.
  • L'implémentation d'un algorithme en python est assez rapide et simple...il vous suffit de le faire et de vérifier ensuite si elle est assez rapide. La plupart du temps, vous pouvez optimiser la l'algorithme pour courir beaucoup plus vite à l'aide de différentes structures de données(dict/sets au lieu de listes...) ou d'opérations différentes. De toute façon l'optimisation après vous avez déjà mis en place une première version de l'algorithme et comparées/profilés elle.
  • dans mon cas, il est tout au sujet de temps de calcul. Si la variante C x heures de moins, alors je vous investir ce temps de laisser les algorithmes de courir plus longtemps encore. Je veux simplement savoir (à peu près) comment beaucoup plus lent Python serait - il si c'est juste une couple d'heures, je ne voudrais certainement pas utiliser une langue que je ne suis pas à l'aise avec (vous pouvez ruiner la meilleure des solutions à des problèmes avec de mauvaises implémentations :P).
  • juste à propos de Python sans doute d'être assez rapide pour beaucoup de choses. Même quand il est plus lent, la facilité de devleopment, la maintenance et la mise en valeur future sont des facteurs importants à considérer.
  • "les x heures"? Quelle est la taille de cette? Avez-vous comparé à une mise en œuvre? Avez-vous des mesures? Avez-vous dressé le portrait de la mise en œuvre? Ou essayez-vous d'prématurément optimiser la solution?