IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Actualités Discussion :

JavaScript plus performant que Java pour le Web ?

  1. #1
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut JavaScript plus performant que Java pour le Web ?
    PayPal abandonne Java pour JavaScript
    Node.js a permis un gain important en performance et en temps à l’entreprise

    JavaScript est très critiqué par certains pour ses faiblesses. Pourtant, au fil du temps, le langage continue à jouir d’une grande popularité sur le Web.

    PayPal, le service de paiement en ligne, a récemment abandonné le langage Java sur ses serveurs pour Node.js, avec un gain considérable dans le rendu des pages Web.

    Jeffe Harrell, directeur de l’ingénierie chez PayPal, décrit dans un billet de blog, les avantages architecturaux de passer de Java à JavaScript. « Imaginez un développeur HTML qui doit demander à un développeur Java de lier la page A et B », explique Harrell.

    Devant ce problème, PayPal devait avoir recourt des développeurs ayant des compétences différentes pour l’application Web et l’application serveur. « Chez PayPal, le bloqueur primaire a toujours été la limite artificielle que nous avons établie entre le navigateur et le serveur », explique celui-ci.

    Pour surmonter cette situation, PayPal s’est tourné vers Node.js, qui a permis à la fois d’écrire les applications devant s’exécuter dans le navigateur et les applications serveurs en JavaScript. « Il [N.D.L.R : Node.js] unifie nos spécialités pour nous permettre de créer une équipe qui comprend et réagit rapidement aux besoins des utilisateurs à n’importe quel niveau dans la pile de technologie », justifie Jeffe Harrell.

    PayPal a dans un premier temps commencé à utiliser Node.js comme plateforme de test avant de passer celui-ci en production cette année.

    Avant d’adopter la plateforme de développement JavaScript événementiel, PayPal par mesure de prudence, à développer un équivalent en Java de son application Node.js. Pour l’application Node.js, il a fallu deux ingénieurs et pratiquement la moitié du temps utilisé par cinq personnes pour créer la déclinaison Java. L’application Node.js avait 33 % moins de lignes de code et 44 % moins de fichiers utilisés, que l’application Java.

    Les tests de performances en production sur du matériel identique ont montré que l’application Node.js était de 35 % plus rapide que son équivalent Java. S’appuyant sur ces résultats, PayPal envisage de développer toutes ses applications Web orientées client avec Node.js. « Il y a une douzaine d’applications dont la migration a été amorcée », écrit Harrell.



    Source : Paypal


    Et vous ?

    Qu'en pensez-vous ? JavaScript avec Node.js est-il une meilleure solution pour les services Web que Java ?
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Qu'en pensez-vous ? JavaScript avec Node.js est-il une meilleure solution pour les services Web que Java ?

    Je ne suis pas fan de Java, mais je pense surtout que l'équipe de développeurs JS de Paypal est plus réactive que l'équipe de développeurs Java, voir plus compétente et là ça fait un grosse différence.

    D'autre part, JS a depuis quelques années était l'objet d'un gros travail d'optimisation part plusieurs acteurs, ce qui l'a propulsé vers le haut...Java n'a pas connu cette course à la performance pour autant que je sache. Google a d'ailleurs décidé de créer la machine virtuelle Dalvik pour Android jugeant que celle de Java n'était pas adaptée aux smartphones.

    Ceci dit, je n'aime pas Java, mais je n'ai pas que de l'amour pour JS, son modèle objet est des plus casse pied.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2009
    Messages
    1 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 030
    Points : 4 203
    Points
    4 203
    Par défaut
    Qu'en pensez-vous ? JavaScript avec Node.js est-il une meilleure solution pour les services Web que Java ?

    Je n'ai jamais utilisé NodeJS (je ne suis d'ailleurs pas du tout fan de JS), mais j'ai bien constaté que JS était vraiment très performant et léger. J'ai au contraire constaté l'aspect poussif de Java (peut-être OpenJDK est-il meilleur ?), pas simplement niveau développement, exécution et maintenabilité, mais également côté installations serveur. Sans oublier le manque de réactivité d'Oracle niveau support, contrairement à l'époque où Java était chez Sun...

    Et bien sûr, il y a la question des coûts. Javascript et NodeJS sont totalement gratuits.

    Donc bonne initiative de Paypal. Par contre, Oracle devrait commencer à se poser des questions... Si des grands comptes se mettent à abandonner Java, c'est qu'il y a un pb...

  4. #4
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Je veux pas recommencer un énième troll java vs reste du monde mais tout de même :

    Citation Envoyé par LSMetag Voir le message
    Je n'ai jamais utilisé NodeJS (je ne suis d'ailleurs pas du tout fan de JS), mais j'ai bien constaté que JS était vraiment très performant et léger. J'ai au contraire constaté l'aspect poussif de Java (peut-être OpenJDK est-il meilleur ?), pas simplement niveau développement, exécution et maintenabilité, mais également côté installations serveur. Sans oublier le manque de réactivité d'Oracle niveau support, contrairement à l'époque où Java était chez Sun...
    Euh non je pense pas que ce genre de critique se vérifie complètement, les performances de java sont carrément bonnes à l'heure actuelle. On est plus dans les années 90. Et niveau maintenabilité il y a l'avantage amené par l'aspect statique du typage et la compilation, à qualité de code égale, je préfère 100 fois maintenir une app d'un million de lignes en java qu'en javascript.

    Et bien sûr, il y a la question des coûts. Javascript et NodeJS sont totalement gratuits.
    Faire du java cela coûte quoi? Autant les outils que les frameworks sont gratuits et largement aboutis.

    Pour en revenir à l'article, je pense que c'est un peu chaud de tirer des conclusions JS > java ou Java > js. Cela dépend aussi de l'équipe et des stacks qui ont été employées. Si côté java ils ont utilisé du JSF + EJB ou d'autres standards du même style, je veux bien croire qu'ils devaient être plus nombreux pour faire moins. Ca aurait été plus intéressant si on avait su exactement ce qui était comparé ici. Car "java" tout seul pour une application web ça ne nous dit pas grand chose, y'a une infinité de possibilité qui peuvent donner des résultats très variables. Ca peut être des des pommes, des poires, des choux et des patates...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 187
    Points : 434
    Points
    434
    Par défaut
    Citation Envoyé par _skip Voir le message
    Je veux pas recommencer un énième troll java vs reste du monde mais tout de même :



    Euh non je pense pas que ce genre de critique se vérifie complètement, les performances de java sont carrément bonnes à l'heure actuelle. On est plus dans les années 90. Et niveau maintenabilité il y a l'avantage amené par l'aspect statique du typage et la compilation, à qualité de code égale, je préfère 100 fois maintenir une app d'un million de lignes en java qu'en javascript.



    Faire du java cela coûte quoi? Autant les outils que les frameworks sont gratuits et largement aboutis.

    Pour en revenir à l'article, je pense que c'est un peu chaud de tirer des conclusions JS > java ou Java > js. Cela dépend aussi de l'équipe et des stacks qui ont été employées. Si côté java ils ont utilisé du JSF + EJB ou d'autres standards du même style, je veux bien croire qu'ils devaient être plus nombreux pour faire moins. Ca aurait été plus intéressant si on avait su exactement ce qui était comparé ici. Car "java" tout seul pour une application web ça ne nous dit pas grand chose, y'a une infinité de possibilité qui peuvent donner des résultats très variables. Ca peut être des des pommes, des poires, des choux et des patates...
    +1000

    Comparer un framework (node.js) à un language (java) c'est sans grande signification.

    Et le côté statique permet de faire des choses aussi basiques qu'indispensables comme autoriser le factoring, la navigation dans le code, etc. etc.

  6. #6
    Membre émérite
    Avatar de Voyvode
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 476
    Points : 2 678
    Points
    2 678
    Par défaut
    Citation Envoyé par PayPal Engineering Blog
    Double the requests per second vs. the Java application. […] our initial performance results were using a single core for the node.js application compared to five cores in Java. We expect to increase this divide further.
    Entre les lignes : notre code Java était pourri.

    Citation Envoyé par PayPal Engineering Blog
    There’s a disclaimer attached to this data: this is with our frameworks and two of our applications.


    [Edit]
    http://benchmarksgame.alioth.debian....=java&data=u64
    Java a une performance brute clairement supérieure à JavaScript (et un code source effectivement plus lourd).

    PayPal obtient de meilleurs performances avec Node.js parce que :
    1. leur code Java était, au mieux, mal adapté ;
    2. ils se sont retroussés les manches avec Node.js ;
    3. ils veulent faire du buzz trollesque.

  7. #7
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Je rejoins tout à fait _skip.
    J'adore ces superbes analyses avec de beaux graphiques pour prouver qu'on a raison, alors qu'on ne sait rien sur la façon dont tout a été développé.

  8. #8
    Expert éminent
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2007
    Messages
    2 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 2 161
    Points : 7 953
    Points
    7 953
    Par défaut sans savoir de quoi on parle, impossible de savoir
    Mettons face à face un 4x4 baroudeur et une micro citadine
    Je vais en en montagne en traversant des chemins de terre tout pourris
    j'arrive 5x plus vite à ma destination avec le 4x4
    Conclusion : le 4x4 est meilleur et je vais équiper toute la flotte de mon entreprise avec des 4x4!!

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 498
    Points : 1 148
    Points
    1 148
    Par défaut
    Je vois les tests de performances mais pas les tests de sécurité. J'ai envie dire que la vitesse voilà, elle me semble secondaire comparé à la sécurité.

  10. #10
    Membre éclairé
    Homme Profil pro
    Développeur C++
    Inscrit en
    Octobre 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur C++

    Informations forums :
    Inscription : Octobre 2008
    Messages : 242
    Points : 705
    Points
    705
    Par défaut
    Personnellement je pense que les graphismes ont du sens.

    1. Node.js est un framework javascript extrêmement simple. De base, il fournit qu'une API JavaScript pour coder une application rapidement. On a aucun système de template, de session, d'ORM de base. Ça peut justifier un gain en rapidité.

    2. Node.js est codé en C++. Bien que Java soit aussi un langage compilé, le C++ reste plus performant dans certains domaines.

    3. Pour avoir travaillé dans une entreprise où on faisait du développement Java. Je peux assurer que ce n'est pas que le code qui fait la rapidité. Pour installer une application web java il faut un conteneur (Tomcat, Glassfish, JBoss, etc.) Ces derniers rajoutent une couche d'exécution supplémentaire ce qui ralentit encore une fois l'application. De plus, la plupart des applications web java inclue des gros framework nécessitant pas mal de ressources (JSF, Primefaces, Hibernate (ou JPA), Spring, etc).

    Mais effectivement, il aurait été intéressant de savoir plus en détails ce qui était utilisé côté Java chez PayPal.

  11. #11
    En attente de confirmation mail
    Homme Profil pro
    *
    Inscrit en
    Février 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : *
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 86
    Points : 40
    Points
    40
    Par défaut
    La majorité des pages de Paypal sont servies en CGI : autant utiliser C++ ou C pour une performance maximale plutôt que JS ou Java. Il serait temps de revenir aux sources encore faut-il trouver les compétences.

  12. #12
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    Citation Envoyé par FelipeVervena Voir le message
    La majorité des pages de Paypal sont servies en CGI : autant utiliser C++ ou C pour une performance maximale plutôt que JS ou Java. Il serait temps de revenir aux sources encore faut-il trouver les compétences.
    oui mais la tu explose le temps de dev, il faut trouver un bon compromis.

  13. #13
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Autant j'adore Node.js et j'ai un projet node en prod sur un VPS qui tourne comme une horloge depuis des mois, autant ça m'effraie de voir qu'un site comme Paypal opte pour un environnement serveur qui n'a pas atteint la sacro-sainte version 1.0.
    One Web to rule them all

  14. #14
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 215
    Points : 558
    Points
    558
    Par défaut
    Peut-être faudrait-il, sans parler des compétences comparées des devs Java et Javascript de Paypal, se demander s'il ne faut pas + de compétences pour prendre en main Java (et toutes ses librairies et frameworks) que Javascript, et que même comme cela, ce qui n'empêcherait quand même pas le développement Java de rester plus lent, plus délicat.

    Mais c'est vrai que sans + de détails de la part de Paypal, c'est dur de trancher. On sait seulement que 2 personnes ont fait le travail de 5 en moitié moins de temps, soit si je calcule bien une productivité multipliée par 5 par personne. Ca ne peut pas être seulement dû aux compétences, les développeurs Java de Paypal sont là depuis des années, ils connaissent leur boulot à force... donc ou bien Javascript / Node.js est vraiment plus simple pour développer un projet (possible, mais p-e pas avec un tel facteur), ou bien toutes les fonctionnalités n'y sont pas (que ce soit celles visibles pour l'utilisateur, ou comme mentionné dans un des commentaires précédents, au niveau de la sécurité).

  15. #15
    Membre chevronné
    Avatar de la.lune
    Homme Profil pro
    Directeur Technique
    Inscrit en
    Décembre 2010
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Directeur Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 545
    Points : 2 084
    Points
    2 084
    Par défaut
    Ce que j'aime juste souligner ici avant de dire ce que je pense, c'est que je me demande quand est ce que les gens vont oublier l'idée que java est lent en exécution?

    Et comme _skip l'a mentionné le java d'aujourdui n'est pas le java des années 90, le moment où on a voulu créer le concept d’écrire une seule fois et exécuter partout utilisant les machines virtuelles.

    Java a pourtant des performances à l’échelle de C/C++. A titre d'info, il faut savoir que ce n'est pas un bon matin que Facebook a décidé de compiler son code php en C++, puis en binaire, mais c'est après des analyses qui sont bien faites sur tous les autres langages.

    Je vous invite à lire la présentation "Facebook architecture de 600 millions d'utilisateur", ici, sur la 24e slide, ils ont présenté les résultats des performances entre les langages comme illustre cette image:



    Au lieu d'utiliser java qui dépasse de très loin php en performance, ils ont choisit de profiter du petit gain que C++ en a au dessus de java.

    Comme vous voyez java est très performant devant ces concurrents sur le web excepté relativement JavaScript qui n'est pas sur la graphe .

    J'ai vu un exemple avec de petit portion de code que vous pouvez même tester par ici, un même code qui s’exécute 1 minute 16 secondes en python, et 1 minute 9 secondes en php, et 41 seconde en Perl, s’exécute en seulement 18 seconde en java.

    Mais il ne faut pas penser que c'est le seul côté que java gagne en performance, sur script à longue durée, mais c'est plutôt en trafic et en activités que les ingénieurs qui ont conçu Java EE ont fait le grand boulot. Ça ne va pas s'observer en exécuter une requête ou deux, mais quand vous allez exécuter des milliers de requêtes à la fois.

    Une seule servlet(java) vivant répond à un millier de requête à la fois, le moment où par exemple php créer un nouveau programme pour chaque requête, étant donné qu'il est basé sur le modèle CGI(Common Gateway Interface). C'est pour cela que beaucoup sites à fort trafic choisissent java vu sa robustesse.

    Pour ce qui est Java vs JavaScript côté serveur, d'abord c'est que personne ne peut nier les performance de node et sa légèreté qui sont aussi relatives.

    J'aime bien Node.js sur le fait que tu crée ton propre serveur et tu choisit les modules à charger et tu peux choisir les objets que tu veut garder en mémoire tout long de la vie du serveur, car ce qui fait la force d'une plateforme web c'est composants serveurs vivant ou mort sous la décision du développer.

    Alors en Java EE, ils ont voulus standardiser les choses et ne pas obliger le développeur à créer ses propres serveurs, mais créer juste les composants et paramétrer leurs cycle de vie.

    Ainsi, ce qui fait ce ce n'est pas nous même qui gèrent nos composants mais c'est le serveur(midlware), lui aussi qui s’exécute sur la machine virtuelle java, donc quelques milliseconde en retard et quelques charges en mémoire qui font que JavaScript lui dépasse.

    Mais a mon avis, vu que java c'est du compilé contrairement à JavaScript, si on pourrait développer avec comme on développe avec Node.js, mais avec une bonne architecture, java dépasserait bien JavaScript.

    Mais tout reste que côté architecture et bonne structure des applications, java ne se compare pas à JavaScript, et Java EE ne se compare pas à Node.js. De même que les framwork et les outils de développement, test, débogage, intégration continue.... Tout cela, doit être pris en compte et là je rejoint ce que _skip a mentionné.

  16. #16
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2009
    Messages : 154
    Points : 233
    Points
    233
    Par défaut
    Au delà de la vitesse d’exécution, je pense que le gain de performance observé viens surtout de la nature évènementiel et asynchrone de node

  17. #17
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2009
    Messages
    1 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 030
    Points : 4 203
    Points
    4 203
    Par défaut
    Citation Envoyé par _skip Voir le message
    Je veux pas recommencer un énième troll java vs reste du monde mais tout de même :



    Euh non je pense pas que ce genre de critique se vérifie complètement, les performances de java sont carrément bonnes à l'heure actuelle. On est plus dans les années 90. Et niveau maintenabilité il y a l'avantage amené par l'aspect statique du typage et la compilation, à qualité de code égale, je préfère 100 fois maintenir une app d'un million de lignes en java qu'en javascript.



    Faire du java cela coûte quoi? Autant les outils que les frameworks sont gratuits et largement aboutis.

    Pour en revenir à l'article, je pense que c'est un peu chaud de tirer des conclusions JS > java ou Java > js. Cela dépend aussi de l'équipe et des stacks qui ont été employées. Si côté java ils ont utilisé du JSF + EJB ou d'autres standards du même style, je veux bien croire qu'ils devaient être plus nombreux pour faire moins. Ca aurait été plus intéressant si on avait su exactement ce qui était comparé ici. Car "java" tout seul pour une application web ça ne nous dit pas grand chose, y'a une infinité de possibilité qui peuvent donner des résultats très variables. Ca peut être des des pommes, des poires, des choux et des patates...
    Je sais que Java et ses frameworks sont bien pour de très grosses applis, devant gérer beaucoup d'accès concurrentiels. La communauté est très importante aussi. Le langage en lui même est très fonctionnel et beaucoup de créations de la communauté sont disponibles gratuitement.

    Alors oui il aurait été bien d'avoir plus de détails sur comment avait été développé Paypal.

    Chaque fois que j'ai utilisé Java, il fallait toujours rajouter un serveur d'applications bien lourd, style JBoss, WebsPhere,... La grosse usine à gaz.
    J'ai utilisé Eclipse (Juno, même Kepler). Ok c'est bourré de fonctionnalités, mais ça rame quand même pas mal. Par contre, j'ai apprécié IntelliJ de JetBrain, mais peu utilisé en entreprise.

    Tous les projets sur lesquels j'ai dû bosser, il fallait payer. Pour le support d'Oracle, pour le serveur d'applications WebSphere avec Portal et WCM (et même pour un Eclipse modifié par IBM). Ces trucs étaient tellement lourds qu'il était impossible de les installer sur nos machines en local. D'ailleurs ils n'ont acheté qu'une licence tellement c'était cher, nous privant de la possibilité de debugguer (un seul serveur pour tout le monde). Et les utilisateurs en étaient mécontents.

    Je préfère Java question développement, mais je sens toujours une lourdeur, même sur des applications simples. Au contraire, Javascript, on est toujours dans l'"instantané" quand on le voit à l'oeuvre.

    Je ne vois pas l'intérêt de Java/J2EE si le projet n'est pas énorme, avec de très gros besoins (IOC, AOP, internationalisation, une tonne d'utilisateurs en simultané, Log4J, 10 projets,...).
    Ces fameux graphiques ont quand même été faits en comparant 5 coeurs avec Java à un seul coeur avec JS. Alors oui peut-être que ça avait été programmé avec les pieds.

    Il est idiot de dire JS>Java et vice versa je suis d'accord.

    Mais je suis assez surpris qu'un gros compte décide de refondre toute son infrastructure Java (qui a dû coûter bonbon en matos et ingénieurs et qui a fait des années) avec une techno bien différente, qui n'est pas encore mature.

  18. #18
    Membre expérimenté Avatar de Firwen
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2009
    Messages : 472
    Points : 1 587
    Points
    1 587
    Par défaut
    Au delà de la vitesse d’exécution, je pense que le gain de performance observé viens surtout de la nature évènementiel et asynchrone de node

    Exactement.

    Je suis trés trés loin d'être un Java boy, mais il faut reconnaitre que Java a de trés bonne performances en terme d'executions. Généralement supérieur à celles des moteurs JavaScript les plus évolués comme V8 ( http://benchmarksgame.alioth.debian....g=all&data=u32 ).
    Les problèmes de performances de Java viennent généralement bien plus de la gestion mémoire par GC que de l'execution elle-même, problème qui touche Javascript également.

    Le gros avantage de NodeJS en terme de performance vient de son système d'I/O asynchrones qui scale nettement mieux que le classic design "synchronous blocking I/O per thread" utilisé généralement en Java.
    It's not a bug, it's a feature

  19. #19
    Membre émérite

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 995
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 995
    Points : 2 528
    Points
    2 528
    Par défaut
    Je pense que la différence de performance s'explique bien plus par l'architecture et les principes de fonctionnement que par l'utilisation de tel ou tel langage, dans ce cas précis.

    Les serveurs web Java EE, dits aussi conteneurs de servlets, comme Tomcat, par exemple, traitent chaque requête avec un thread séparé, ce qui n'est pas réellement utile. Cette architecture massivement multithreadé consomme inutilement des ressources : changement de contexte, ouverture d'une connexion sur le serveur pour chaque requête, augmentation du heap de la JVM pour tous ces threads, etc.

    Node.js et Vert.x (son équivalent Java, que je connais mieux, personnellement) sont conçus de manière radicalement différente : on a un thread d'écoute qui lit les requêtes à partir d'une file d'attente et les traite l'une après l'autre. Ce thread lance ensuite des threads de travail qui vont effectuer le traitement proprement dit. On a donc nettement moins de connexions ouvertes simultanément (puisqu'on les ouvre seulement quand on en a effectivement besoin de transférer des données) et moins de threads simultanés, d'où moins de consommation mémoire et moins de changements de contexte pour le processeur.

  20. #20
    Membre expert

    Développeur NTIC
    Inscrit en
    Janvier 2011
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Développeur NTIC
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 670
    Points : 3 942
    Points
    3 942
    Par défaut
    Citation Envoyé par Voïvode Voir le message
    Entre les lignes : notre code Java était pourri.




    [Edit]
    http://benchmarksgame.alioth.debian....=java&data=u64
    Java a une performance brute clairement supérieure à JavaScript (et un code source effectivement plus lourd).

    PayPal obtient de meilleurs performances avec Node.js parce que :
    1. leur code Java était, au mieux, mal adapté ;
    2. ils se sont retroussés les manches avec Node.js ;
    3. ils veulent faire du buzz trollesque.
    Tout est dit. Leur code java devait vraiment être merdique niveau optimisation ...
    L'homme est un fou pour l'homme. Toi qui viens de me mettre un aie au moins le courage d'expliquer pourquoi tu n'es pas d'accord.

Discussions similaires

  1. Réponses: 31
    Dernier message: 22/04/2014, 14h55
  2. Réponses: 14
    Dernier message: 22/01/2014, 19h52
  3. Réponses: 30
    Dernier message: 20/07/2009, 15h35
  4. Réponses: 0
    Dernier message: 16/07/2009, 16h49
  5. [D7] composants plus rapides que dbExpress pour Oracle 8i
    Par Magnus dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/10/2005, 12h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo