Intel publie « C++ Compiler v 13.0 »
Son compilateur optimisé pour le développement d'applications natives Android
Le 2013-08-29 09:08:07, par Cedric Chevalier, Expert éminent sénior
Intel publie son compilateur Intel C++ Compiler v 13.0 compatible Android NDK (Native Developpement Kit), destiné au développement d’applications natives pour la plateforme mobile de Google.
Pour l’instant, seuls les systèmes d’exploitation Ubuntu 10.0.4 et 11.0.4 peuvent être utilisés comme environnements de développement pour le compilateur d’Intel. Les versions pour les autres systèmes (OSX, Windows, et autres) devraient voir le jour à une date ultérieure, s’est contenté d’annoncer Intel sans aucune autre précision.
Intel C++ Compiler v 13.0 produit du code natif pour tous les périphériques mobiles (équipés des puces Intel bien sûr) exécutant les versions d’Android Jelly Bean et Ice Cream Sandwich.
Cependant, la plupart des applications écrites pour Android sont faites en Java. Une minorité seulement utilisent du code natif. De plus, le code natif sous Android n’améliorerait pas les performances des applications autant qu’on pourrait le penser. On peut lire sur le site relatif au développement d’Android : « L’utilisation du code natif n’améliore pas de façon perceptible les performances des applications, cependant elle contribue à augmenter la complexité de ces dernières ».
Autrement dit, il est vivement recommandé aux développeurs d’utiliser les Framework de développement pour l’OS mobile. On peut lire sur la même page du site officiel : « Lorsque vous examinez votre code pour déterminer si vous avez besoin ou non de faire du natif, pensez d’abord à chercher du côté des API des Framework existants, pour savoir si les fonctionnalités que vous recherchez ne sont pas déjà disponibles ».
Une question se pose alors : quelles sont les motivations qui pourraient pousser Intel à s’investir du côté du développement natif pour Android, alors qu’il y a quelque temps, la firme publiait XDK pour le développement d’applications multiplateformes utilisant HTML5 ?
Télécharger Intel C++ Compiler v 13.0 pour Android (il faut s'enregistrer au préalable)
Sources : Intel, Android
Et vous ?
Qu'en pensez vous ?
Pour l’instant, seuls les systèmes d’exploitation Ubuntu 10.0.4 et 11.0.4 peuvent être utilisés comme environnements de développement pour le compilateur d’Intel. Les versions pour les autres systèmes (OSX, Windows, et autres) devraient voir le jour à une date ultérieure, s’est contenté d’annoncer Intel sans aucune autre précision.
Intel C++ Compiler v 13.0 produit du code natif pour tous les périphériques mobiles (équipés des puces Intel bien sûr) exécutant les versions d’Android Jelly Bean et Ice Cream Sandwich.
Cependant, la plupart des applications écrites pour Android sont faites en Java. Une minorité seulement utilisent du code natif. De plus, le code natif sous Android n’améliorerait pas les performances des applications autant qu’on pourrait le penser. On peut lire sur le site relatif au développement d’Android : « L’utilisation du code natif n’améliore pas de façon perceptible les performances des applications, cependant elle contribue à augmenter la complexité de ces dernières ».
Autrement dit, il est vivement recommandé aux développeurs d’utiliser les Framework de développement pour l’OS mobile. On peut lire sur la même page du site officiel : « Lorsque vous examinez votre code pour déterminer si vous avez besoin ou non de faire du natif, pensez d’abord à chercher du côté des API des Framework existants, pour savoir si les fonctionnalités que vous recherchez ne sont pas déjà disponibles ».
Une question se pose alors : quelles sont les motivations qui pourraient pousser Intel à s’investir du côté du développement natif pour Android, alors qu’il y a quelque temps, la firme publiait XDK pour le développement d’applications multiplateformes utilisant HTML5 ?
Sources : Intel, Android
Et vous ?
-
jmnicolasMembre éprouvéD'une part développer en C++ permet d'avoir du code portable sur toutes les architectures mobiles, alors que paradoxalement Java n'est présent que sur Android.
Enfin je pense que Google décourage l'utilisation de C++ pour le commun des devs plus pour des questions de "qualité" des applis que pour une histoire de perfs.
Un dev de base a plus facile de faire une app correcte en Java qu'en C++, mais je reste persuadé que le natif est bien plus performant.
edit :
Quantifying the Performance of Garbage Collection vs. Explicit Memory ManagementIn particular, when garbage collection has five times as much memory
as required, its runtime performance matches or slightly exceeds
that of explicit memory management. However, garbage collec-
tion’s performance degrades substantially when it must use smaller
heaps. With three times as much memory, it runs 17% slower on
average, and with twice as much memory, it runs 70% slower. Gar-
bage collection also is more susceptible to paging when physical
memory is scarce. In such conditions, all of the garbage collectors
we examine here suffer order-of-magnitude performance penalties
relative to explicit memory management.le 30/08/2013 à 8:47 -
nicromanExpert éminentOn peut relancer le troll sur la rapidité entre C++ et Java ad vitam aeternam
Le fait est que toute application C++ sérieuse à laquelle j'ai pu toucher a toujours surchargé le new/delete pour faire sa propre gestion mémoire (recyclage, debugging, allocations rapides malloc étant une plaie question rapidité, etc...). Mais c'était il y a 6/7 ans, le langage a peut-être été modifié depuis pour intégrer ces trucs.
L'intérêt du C++ par rapport à Java sur Android, est surtout de pouvoir bénéficier de toutes les ressources du device (la mémoire entre autre), et ainsi faire des applications (jeux?) qui utilisent 800Mo de RAM, chose impossible en Java.
Par contre on perd l'ensemble du framework UI, et ré-implémenter l'Action-Bar n'est pas une chose facile à mon avisle 30/08/2013 à 12:46