Je ne connaissais pas l'expression "recursif terminal", si la définition que j'ai lu est bonne l'implémentation du test est récursive mais pas recursive terminal
Je ne connaissais pas l'expression "recursif terminal", si la définition que j'ai lu est bonne l'implémentation du test est récursive mais pas recursive terminal
Oui effectivement et c'est pour ça que c'est un bon benchmark pour évaluer l'efficacité respective de la récursion dans divers langages... Parce que si on utilise un algorithme récursif terminal, on déterminera principalement quels langages(/implémentations) optimisent la récursivité terminale.
Ma remarque venait en complément de ton "et une boucle serait infiniment plus rapide" : ce n'est pas la récursion qui est lente par rapport à l'itération, c'est l'algorithme utilisé qui est lent, à dessein. L'équivalent récursif terminal de ta boucle serait tout aussi rapide et serait récursif, pas itératif dans son expression.
--
Jedaï
Mais pour la énième fois des tests de performances sur des suites de fibonacci par exemple et tout un projet informatique avec mise en charge c'est totalement différent..
est-ce que Java est vraiment performant pour une application lourde avec multithreading , acquisition temps réel ?
Non les options de compilations sont globales au projet à ma connaissance.Dans un véritable projet, est ce que les développeurs vont changer les options de compilations de chacun de leurs .cpp en fonction des cas pour en obtenir le meilleur (car ils ne peuvent pas les mettre partout je pense), et quelle perte de temps non ?
Peut-être avec des macros de directives on peut peut-être optimiser un code source cpp particulier mais j'en doute..
Un article qui date un peu parce que de 1999 et parce que maintenant il y a vs2008 et que quelqu'un a peut-être déjà donné en référence mais qui est susceptible d'être intéressant.
http://msdn.microsoft.com/en-us/libr...69(VS.60).aspx
Evidemment que c'est différent un bench sur un algo et une appli complète, si tu as des applis complètes a proposer qui ont exactement la même implémentation dans les 2 langages oui on peut tester, mais ca m'étonnerai que tu ais ca sous la main.
La question si java est vraiment performant pour une appli lourde et multithreadé, c'est sur que oui, est ce qu'elle est plus performante que la même en C++, aucune idée parce que je ne connais pas d'exemple de 2 applis identiques dans les 2 langages.
Mais de toute facon ce n'était pas ma question, ma question portait sur cet algo uniquement, je n'ai en aucun cas cherché a en faire une généralité pour dire que java serait meilleur que c++
histoire de montrer que java peut faire dans l'industriel
Java Real-Time System Selected for Space Surveillance Radar
j'imagine que les mecs ont testouillé un peu avant de se lancer
enfin... j'espere
Bah! Si tu es dans l'industrie, tu devrais savoir comment ça marche en général ce genre de décisions.
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
eh oui mais faut pas perdre de vue que Sun c'est 1-Unix 2-donc un compilo C/C++ qui aille avec...
Donc comme ce projet de Sun autrement dit c'est peut-être une partie en Java et une autre en c++ pour mieux coller à l'OS
En d'autres termes cela ne m'étonnerait pas que Java tourne mieux sous Sun parce les gens qui ont fait Java savent comment leur OS fonctionne tu me suis ?
en d'autres termes il ya une meilleure intégration de Java sous Solaris par exemple que de Java sous Windows par exemple...
Toute la tartufferie de cette histoire repose sur cette constatation : si tout le monde programme en Java , Java ça tourne mieux sous Solaris donc Solaris développé par Sun sera mieux vendu que Windows au grand dam de Microsoft
Parce qu'un OS Solaris et un OS Windows c'est radicalement différent ;il y a un gouffre entre les 2.
Non je crois que tu n'as pas compris ce que j'ai voulu dire ; primo faut pas perdre de vue q'un environnement de développement et un langage informatique c'est pas seulement pour faire plaisir à des programmeurs mais c'est aussi une politique et arrière pensée commerciale
Et puis segundo ce projet de Sun que tu nous présente il va être performant pourquoi ? Eh bien parce que Sun aura sans doute fait ses propres packages Java qui collent vraiment aux fonctionnalités de Solaris
j'ajouterais un grain de sel.. historique .. à ce que dit Mat.M :
la naissance de Java fut parce que, sous l'ensemble des plateformes autres que Windows, tout le monde était parvenu à se mettre d'accord et implanter XWindow et Motif ou OpenGL, et que à chaque portage d'interface graphique entre Windows et les autres, il fallait tout ré-écrire ce qui était GUI au moins... (entre autres avec C++ pour Windows, puisque quasi-personne ne programmait avec C++ ailleurs : sous Unix/Linux en 1997 ?? quasi-personne).
Vu que la plupart des grosses applis ont une part non négligeable de GUI, l'idée est venue chez Sun de faire Java.. Pour faciliter les pontages entre Windows et le reste...
Je ne prend pas partie dans le débat, car je n'utilise ni l'un ni l'autre, mais je tenais quand même à remonter l'origine
Juste un petit point dans ce débat :
Cependant, on peut douter , pour de lourdes applis graphiques, de la capacité de réaction d'un langage objet non compilé...
(exemple : les applis de maillage, avec tracé de 100 000 vecteurs à la vitesse de la souris...)
Que pour des calculs, cela soit à peu près équivalent, sans doute, à cause des caches, des GCs, etc etc..
Juste en rappelant l'origine, je rappelle que Java a été conçu a) pour les GUI, et b) pour la transparence intersystème.
Les 10 dernières années ont amené d'autres langages, mais aussi bien entendu des changements de perfomances des 2 langages en cause au départ (et en particulier l'utilisation généralisée de C++ sur des plateformes qui lui étaient étrangères, comme Unix/Linux)..
Voilà, c'était mes 2 grains de sel
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".
Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java
Je ne réponds pas aux MP techniques
Le problème c'est que tu fais toute ton analyse sur de vagues suppositions datant d'il y a 10 ans et des idées suppositions non vérifiées comme il y en a tout au long de ces 79 pages
Le compilé existe aussi en java...
Moi qui pensais qu'à l'origine c'était pour les aspirateurs..Juste en rappelant l'origine, je rappelle que Java a été conçu a) pour les GUI, et b) pour la transparence intersystème.
En fait il faudrait une synthèse de milliers de tests comparatifs vus sous pleins d'angles différents. On peut considérer que l'algo de fibonacci est tout à fait valable parce que le coup des options de compilation qui sont mal réglées par défaut en c++ ou que ce n'est pas celles qu'on utilise en industrie est un peu fort de café.
Il faut je pense aussi exclure les tests de GUI car le langage c++ ne propose rien en standard auquel cas cela reviendrait à tester un framework graphique plus qu'autre chose. Après tout on ne pourrait pas utiliser Qt en Java ? Swing en c++ ?
" Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]
je ne comprends pas du tout ce que tu veux me dire : tu parles de décrédibliser le projet ?
Moi je te parle de l'aspect commercial des outils informatiques , des systèmes d'opérations.
Si Sun ne vend pas d'Unix il met la clef sous la porte si Microsoft ne vend pas de Windows ou Ms Office il met la clef sous la porte c'est pas compliqué.
Faut pas voir seulement que l'aspect technique ; je sais qu'ici il ya 99% de techs ( je te rassure je suis aussi un tech ) ; faut pas perdre de vue les logiques commerciales.
Bon c'est vrai c'est pas trop le sujet dans ce fil de discussion quoique..
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.
Le problème c'est que swing ayant été concu à l'origine pour JAVA et ces capacités comme par exemple le GC, je serais surpris que ce soit aussi simple que ça a réaliser. En plus du coté fastidieux de la chose.
dosole mais je peux pas m'empecher de toller:
C/C++ pour programmer
Java pour bouffer. oui il faut faire du code vite sans se prendre la tete a pointer dans tout les sens gerer des memoires et autre alors que le client lui s'en moque. donc pour moi java c'est je code vite et je vend plus. Vous me direz je suis totalement C et que je fais des efforts pour le C++. Et me trouvant dans un environnement de paresseux, je constate qu'ils detestent tous le C car selon eux c'est reinventer la roue et qu'aujourd'hui le mot roi est economie. ca Illustre selon moi ce que je pensais: "je programme en C/C++ et je me nourris grace a JAVA".
Petit lien vers mon premier jeux SDL2/C
http://store.steampowered.com/app/72..._Soul_Of_Mask/
la suite? ca vient,ca vient!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager