2010-01-22 8 views
12

Je suis intéressé par toute comparaison entre le compilateur GCC et le compilateur Greenhills C en ce qui concerne l'empreinte mémoire du code généré spécifiquement sur les plates-formes ARM.GCC vs Greenhills sur ARM

Y a-t-il des repères ou des comparaisons pour ces compilateurs? Quelqu'un a-t-il vécu une expérience qu'ils aimeraient partager?

+0

http://www.eembc.org/coremark/index.php est un site Web d'analyse comparative des compilateurs créé pour les développeurs intégrés. Vous pouvez également comparer votre propre compilateur avec leurs outils. –

Répondre

4

Je n'ai vu aucun benchmark mais d'après mon expérience, les deux compilateurs ont une taille de code très similaire et le code généré. Green Hills a beaucoup de documentation et de soutien si vous voulez réduire votre empreinte de la mémoire, avec GCC, il se sent seul très rapidement une fois que vous êtes hors des sentiers battus. Green Hills prend également en charge les images compressées exécutables, ce qui est idéal si vous avez un FLASH limité mais beaucoup de RAM. J'ai également utilisé des bibliothèques C et Runtime personnalisées (cela peut vous faire économiser de l'espace) avec les deux compilateurs, mais vous aurez besoin de faire quelques recherches pour obtenir des infos sur GCC, mais les Green Hills vous permettent d'obtenir certaines choses via un assistant qui génère le fichier de construction.

+1

Je suis d'accord avec ce que vous dites mais je veux ajouter que faire du runtime personnalisé avec GCC n'est pas vraiment difficile non plus. Je pense que vous êtes plutôt bien avec les deux. (Mais je préfère GCC en raison de la licence.Vous pouvez configurer des machines virtuelles de développement ou des ordinateurs portables basés sur Linux, autant que vous le souhaitez.Très pratique lorsque vous avez besoin de consultants, faible temps de démarrage.) –

8

Vous devriez noter que le CLUF de Green Hills interdit explicitement aux détenteurs de licences de publier des références.

Ce que vous pouvez faire est d'obtenir une licence d'évaluation de Green Hills et d'effectuer votre propre analyse comparative. Ce serait plus fiable et représentatif dans tous les cas puisque vous pourriez le tester sur un vrai code de production. Et dans tous les cas, le benchmark pour dire un ARM7 peut être très différent de celui d'un Cortex-M3 par exemple, donc tous les résultats publiés disponibles peuvent ne pas être comparables à l'identique, et peuvent ne pas être représentatifs de votre plateforme. Notez également que j'ai expérimenté des résultats très différents de différentes distributions binaires de GCC, même si je faisais apparemment partie de la même version de base de code (en particulier avec des performances à virgule flottante).

Vous envisagez peut-être Keil et IAR en même temps, qui ont également des versions d'évaluation Pourquoi ne considérez-vous que les deux? Les gens vont généralement avec Green Hills quand ils ont de gros budgets et peuvent bénéficier de l'intégration RTOS capacités disponibles à partir d'une seule source, tout bénéfice que vous pourriez tirer de l'utilisation du compilateur seul est peu susceptible de justifier les coûts de licence OMI

+4

Hear, hear. Un peu louche d'eux à mon humble avis. –