Salut,
dans le cadre d'un projet je dois réaliser un comparatif entre java EE vs .Net (performance) mais j'avoue que j'ai ne sait pas trop quels genres de tests il faut réaliser.
Pouvez vous me conseiller svp ?
Merci d'avance.
Salut,
dans le cadre d'un projet je dois réaliser un comparatif entre java EE vs .Net (performance) mais j'avoue que j'ai ne sait pas trop quels genres de tests il faut réaliser.
Pouvez vous me conseiller svp ?
Merci d'avance.
La réponse est : ce n'est pas vraiment possible... Généralement on utilise des benchmarks, mais il s'agit là d'un outil imprécis et délicat, trompeur.
Il y a d'abord la question du contenu des benchmarks : doivent-ils être complexes ou simples, en terme d'objectif, de moyens ? Ensuite il y a l'influence de la "qualité" du code et des programmeurs pour les langages respectifs : pour avoir quelque chose d'équitable, les programmeurs doivent être relativement experts dans leur langage mais ne pas écrire du code ultra-optimisé comme ils ne le feraient jamais en réalité, il doivent se limiter à du code typique du langage, malheureusement un critère difficile à définir.
Les seuls moyens plus fiables seraient des études statistiques massives sur des programmes produits en temps finis dans les deux langages, mais tu n'auras jamais les moyens de réaliser une pareille étude, et cela n'a jamais réellement été fait.
--
Jedaï
ça ne serait pas possible de faire ça avec des algos ultra simple? (genre lecture/écriture dans un fichier, calcul arithmétique, consommation de la ram etc ..)
Merci d'avance.
Consommation de RAM avec une machine virtuelle, c'est pas super pratique.
En java, on autorise l'application à utiliser un certains nombres de mémoire au lancement (par exemple 512mo), si ça dépasse, une exception OutOfMemory est lancée. Sinon, ça reste au maximum de la mémoire qui a été consommé à un temps donné.
Par exemple, si tu crées une image de 10000*10000 et que tu ne t'en sers plus après, la machine virtuelle gardera l'espace précédemment alloué pour y mettre d'autres choses.
Et allouer une image de 10000*10000 (je parle en mémoire, sans système de cache), que ce soit dans n'importe quel langage, ça prendra autant de place
...mais alors tu testes le language dans une configration bien précise. Pas "en général". Dans le cadre de ton projet, je te dirais d'établir un certains nombre de critères, et de chronométrer en force brute sur chacun. Genre :
lecture/ecriture mémoire
lecture/ecriture fichier
acces données massives
calculs scientifiques
remplissage de collections
mais ça te donnera une indication par type de tâche. aucun indicateur général n'a de sens, je pense, les autres l'on déjà expliqué.
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