Existe-t-il quelque chose d'équivalent à Cython pour IronPython? C'est, un moyen de compiler des fonctions simples en utilisant des annotations de type pour augmenter les performances? Je sais que l'un des avantages de IronPython est la possibilité d'écrire rapidement des fonctions dans quelque chose comme C# ou F #, puis de les importer, mais cela peut être un fardeau pour les utilisateurs qui ne connaissent que Python.Cython pour IronPython
Répondre
Hmm .. IronPython est already way faster que le bon vieux CPython :)
Cela dit, vous pouvez créer des fichiers binaires à partir de la source avec pyc (regarder dans <IronPython 2.6 Install Dir>\Tools\Scripts\pyc.py
).
Il semble qu'il existe un certain nombre d'options de sortie, y compris la création d'une DLL. Je présume qu'il est possible de créer une DLL à partir d'un programme régulier .py
(je n'ai jamais essayé cela). Je ne sais vraiment pas si cela va augmenter les performances au-delà de ce que vous avez déjà avec IronPython (cela améliore probablement le temps de démarrage).
Mise à jour:
Je viens de faire un peu de tests, et la conversion en exe me donne une vitesse de 3 à 5% vraiment marginal amélioration, et ne permet pas le temps de démarrage. Cela semblait être une bonne idée: |
- 1. Cython, C et Fortran
- 2. 'ctypedef' conditionnel avec Cython
- 3. Cython Installez l'erreur GCC
- 4. Un débogueur pour IronPython
- 5. Cython C++ et std :: string
- 6. Cython octets à C char *
- 7. Enveloppez C++ lib avec Cython
- 8. Erreur Cython pyximport sur Windows
- 9. Utiliser Cython pour exposer la fonctionnalité à une autre application
- 10. ctypes, pyrex, swig ou cython pour ce problème?
- 11. IronPython: Comment installer IronPython Studio de
- 12. IronPython gzip
- 13. Performance IronPython
- 14. SQLCLR & IronPython
- 15. Enveloppement simple du code C avec Cython
- 16. Création d'un wrapper C avec Cython - Python
- 17. Ironpython: IEnumerator
- 18. Sandbox IronPython?
- 19. GUI runner dans Eclipse pour Python/IronPython
- 20. Différents styles pour Windows formes dans Ironpython
- 21. J'ai un problème avec IronPython pour instancier une classe dans IronPython Console
- 22. IronPython et pdb.set_trace()
- 23. IronPython asp.net IntelliSense
- 24. Formes Ironpython Studio
- 25. Distribuer des applications IronPython
- 26. Pygments dans IronPython
- 27. Python, IronPython Mono
- 28. IronPython sur ASP.NET MVC
- 29. Objets proxy dans IronPython
- 30. IronPython - Choix JSON
Je ne parle pas de CPython, je parle de Cython. Cython est compilé C traduit du code Pythonesque. Cela peut entraîner une augmentation de la vitesse de 500x sur CPython ou Ironpython pour le code numérique. Deuxièmement, il n'est tout simplement pas vrai que IronPython soit bien plus rapide que CPython: il est compétitif, parfois plus lent, parfois plus rapide. Le benchmark de Richards sur cette page est deux fois plus lent par exemple. – Tristan
Désolé, je relis ma réponse et je peux voir à quel point ce serait un peu déroutant. Mon point était que IronPython est déjà compilé dynamiquement dans le code machine; Si vous convertissez en EXE, vous obtiendrez une image binaire DLR qui sera automatiquement compilée en code machine. Je ne peux pas imaginer que vous pouvez obtenir plus rapidement que cela (peut-être écrire une DLL en C# et en appelant cela serait plus rapide, mais vous écririez C#). Aussi - D'après mon expérience (avec mes programmes), IronPython est plus rapide que CPython si vous excluez le temps de démarrage (ce qui est beaucoup à exclure). – Seth
Si vous voulez améliorer le temps de démarrage, vous devriez AOT bibliothèques IronPython. –