Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1497 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [JAVA][C#]Meilleur performance entre C# et Java ?

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[JAVA][C#]Meilleur performance entre C# et Java ?

n°425773
Imhotep
Le monde est mon huître !!!
Posté le 13-06-2003 à 08:45:47  profilanswer
 

Salut
 
Avec un copain, cet été nous aimererions faire un moteur de ray-tracing. Connaissant "bien" C++ et trouvant ce language particulièrement chiant on aimerait en utiliser un autre. Pour ce qui est de Java, on le trouve trop lent, il reste C#. Mais on ne connais pas ces performances en terme de rapidité d'exécution face à Java et C++.  
 
Quelqu'un pourrait-il nous éclairer ???
 
Merci

mood
Publicité
Posté le 13-06-2003 à 08:45:47  profilanswer
 

n°425777
darklord
You're welcome
Posté le 13-06-2003 à 08:46:51  profilanswer
 

Imhotep a écrit :

Salut
 
Avec un copain, cet été nous aimererions faire un moteur de ray-tracing. Connaissant "bien" C++ et trouvant ce language particulièrement chiant on aimerait en utiliser un autre. Pour ce qui est de Java, on le trouve trop lent, il reste C#. Mais on ne connais pas ces performances en terme de rapidité d'exécution face à Java et C++.  
 
Quelqu'un pourrait-il nous éclairer ???
 
Merci


 
troll :o
 
ban :o
 
(et si c'est sérieux peux tu justifier "on le trouve trop lent" )


---------------
Just because you feel good does not make you right
n°425779
El_gringo
Posté le 13-06-2003 à 08:47:33  profilanswer
 

T'as testé avant de dire que "Java est trop lent", ou c'est juste basé sur des à priori ?

n°425782
darklord
You're welcome
Posté le 13-06-2003 à 08:47:59  profilanswer
 

El_gringo a écrit :

T'as testé avant de dire que "Java est trop lent", ou c'est juste basé sur des à priori ?


 
;)  :hello:


---------------
Just because you feel good does not make you right
n°425785
skeye
Posté le 13-06-2003 à 08:48:16  profilanswer
 

DarkLord a écrit :


 
troll :o
 
ban :o
 
(et si c'est sérieux peux tu justifier "on le trouve trop lent" )


C'est un copain qui lui a dit... [:ddr555]  
J'aime beaucoup le "on aime pas c++, on aime pas java, il ne reste donc plus que C#"...:lol:


---------------
Can't buy what I want because it's free -
n°425794
darklord
You're welcome
Posté le 13-06-2003 à 08:50:22  profilanswer
 

skeye a écrit :


C'est un copain qui lui a dit... [:ddr555]  
J'aime beaucoup le "on aime pas c++, on aime pas java, il ne reste donc plus que C#"...:lol:


 
des futurus décideurs élevés au grain [:dawa]


Message édité par darklord le 13-06-2003 à 08:50:32

---------------
Just because you feel good does not make you right
n°425800
kadreg
profil: Utilisateur
Posté le 13-06-2003 à 08:53:39  profilanswer
 

[:abnocte invictus]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°425806
skeye
Posté le 13-06-2003 à 08:55:24  profilanswer
 

DarkLord a écrit :


 
des futurus décideurs élevés au grain [:dawa]


 :whistle:  
Pi d'abord les débats sur les langages ya un topic exprès! :o


---------------
Can't buy what I want because it's free -
n°425817
Imhotep
Le monde est mon huître !!!
Posté le 13-06-2003 à 09:00:14  profilanswer
 

DarkLord a écrit :


 
troll :o
 
ban :o
 
(et si c'est sérieux peux tu justifier "on le trouve trop lent" )


 
Troll, Ban ??? Pkoi ???
 
Pourquoi trop lent ? Mais c bien connu voyons le fait de passé par une machine virtuel ne peut qu'augmenter considérablement les performances...  
J'ai déjà vu un moteur de ray-tracing tourné en java, comparé à un moteur de ray-tracing en c/c++, c le jour et la nuit...
 
J'ai jamais dis que je n'aimais pas java et c++ seulement java est nettement plus facile à manipuler que c++ et comme c# ce rapproche beaucoup de java, je me posais la question... mais bon si c'est trop vous demandé, je vais allé me renseigner ailleur....

n°425819
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-06-2003 à 09:01:26  profilanswer
 

drapal


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le 13-06-2003 à 09:01:26  profilanswer
 

n°425825
darklord
You're welcome
Posté le 13-06-2003 à 09:04:36  profilanswer
 

Imhotep a écrit :


Pourquoi trop lent ? Mais c bien connu voyons le fait de passé par une machine virtuel ne peut qu'augmenter considérablement les performances...  
J'ai déjà vu un moteur de ray-tracing tourné en java, comparé à un moteur de ray-tracing en c/c++, c le jour et la nuit...


 
Je suppose que tu voulais dire que le fait de passer par une JVM ne pouvait que diminiuer les perfs, soit :o
 
Déjà de un il y a une différence ENORME entre dire ce language est trop lent et ce language est trop lent pour tel type d'application.  Tu as le droit de détester ce que tu veux, chacun est libre. Mais balancer on le trouve trop lent comme un cheveu ds la soupe, ca ne fait pas très sérieux ...


---------------
Just because you feel good does not make you right
n°425826
kadreg
profil: Utilisateur
Posté le 13-06-2003 à 09:04:58  profilanswer
 

Imhotep a écrit :


Pourquoi trop lent ? Mais c bien connu voyons le fait de passé par une machine virtuel ne peut qu'augmenter considérablement les performances...  


 
Les JIT ça existe, et pour des algorithmes fortement répétitifs, seul la première itération est lente, puisqu'ensuite la convertion en code machine a déjà été faite une fois et est réutilisée.
 

Imhotep a écrit :


J'ai déjà vu un moteur de ray-tracing tourné en java, comparé à un moteur de ray-tracing en c/c++, c le jour et la nuit...


 
On peut trouver des moteurs de raytracing lents en C++ aussi. Un foirage sur l'algo, on monte d'un niveau en complexité par rapport à un autre moteur, et hop, un moteur lent, et ce indépendamment du langage utilisé.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°425830
LetoII
Le dormeur doit se réveiller
Posté le 13-06-2003 à 09:06:12  profilanswer
 

Perso je vote Troll.


---------------
Le Tyran
n°425836
chrisbk
-
Posté le 13-06-2003 à 09:08:41  profilanswer
 

El_gringo a écrit :

T'as testé avant de dire que "Java est trop lent", ou c'est juste basé sur des à priori ?


 
perso j'ai testé et je trouve ca trop lent [:ciler]
 
 
<insert flame here>

n°425837
El_gringo
Posté le 13-06-2003 à 09:08:45  profilanswer
 

kadreg a écrit :


Les JIT ça existe, et pour des algorithmes fortement répétitifs, seul la première itération est lente, puisqu'ensuite la convertion en code machine a déjà été faite une fois et est réutilisée.


 
ça à l'air interressant ça, c'est quoi JIT ?

n°425842
El_gringo
Posté le 13-06-2003 à 09:09:42  profilanswer
 

Imhotep a écrit :


 
Troll, Ban ??? Pkoi ???
 
Pourquoi trop lent ? Mais c bien connu voyons le fait de passé par une machine virtuel ne peut qu'augmenter considérablement les performances...  
J'ai déjà vu un moteur de ray-tracing tourné en java, comparé à un moteur de ray-tracing en c/c++, c le jour et la nuit...
 
J'ai jamais dis que je n'aimais pas java et c++ seulement java est nettement plus facile à manipuler que c++ et comme c# ce rapproche beaucoup de java, je me posais la question... mais bon si c'est trop vous demandé, je vais allé me renseigner ailleur....


 
C#, ça tourne dans une machine virtuelle aussi (ou équivalent)

n°425845
chrisbk
-
Posté le 13-06-2003 à 09:09:56  profilanswer
 

El_gringo a écrit :


 
ça à l'air interressant ça, c'est quoi JIT ?


 
Just In Time
 
tu compile qu'une fois si je dis pas de connerie

n°425847
darklord
You're welcome
Posté le 13-06-2003 à 09:10:31  profilanswer
 

El_gringo a écrit :


 
ça à l'air interressant ça, c'est quoi JIT ?


 
bin Just In Time tu connais pas? :heink:


---------------
Just because you feel good does not make you right
n°425852
El_gringo
Posté le 13-06-2003 à 09:12:37  profilanswer
 

DarkLord a écrit :


 
bin Just In Time tu connais pas? :heink:


 
Ben non. J'devrais ?

n°425860
darklord
You're welcome
Posté le 13-06-2003 à 09:14:56  profilanswer
 

El_gringo a écrit :


 
Ben non. J'devrais ?


 
euh non pas forcément ...


---------------
Just because you feel good does not make you right
n°425865
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-06-2003 à 09:16:06  profilanswer
 

JIT = compilation à la volée. En gros, le programme est compilé pendant son exécution


---------------
J'ai un string dans l'array (Paris Hilton)
n°425870
chrisbk
-
Posté le 13-06-2003 à 09:17:10  profilanswer
 

Harkonnen a écrit :

JIT = compilation à la volée. En gros, le programme est compilé pendant son exécution


 
(ca doit etre horrible a programmer un truc comme ca)

n°425873
Imhotep
Le monde est mon huître !!!
Posté le 13-06-2003 à 09:17:18  profilanswer
 

El_gringo a écrit :


 
C#, ça tourne dans une machine virtuelle aussi (ou équivalent)


Oui je sais, et c'est pour ca que je suis venu ici, pour me renseigner sur les différences de perfs entre java et c# s'il y en a... mais je remaque que personne ne m'a répondu pour l'instant...

n°425876
chrisbk
-
Posté le 13-06-2003 à 09:18:06  profilanswer
 

Imhotep a écrit :


Oui je sais, et c'est pour ca que je suis venu ici, pour me renseigner sur les différences de perfs entre java et c# s'il y en a... mais je remaque que personne ne m'a répondu pour l'instant...


 
y'a eu pas mal de test de fait je crois, cherche sur le net, mais a priori ce genre de question c l'ideal pour declencher une bonne guerre des familles :D

n°425880
skeye
Posté le 13-06-2003 à 09:18:57  profilanswer
 

Imhotep a écrit :


Oui je sais, et c'est pour ca que je suis venu ici, pour me renseigner sur les différences de perfs entre java et c# s'il y en a... mais je remaque que personne ne m'a répondu pour l'instant...


C'est parce-qu'il n'y a pas de réponse définitive...et pour les trolls c'est trop tôt! :sleep:


---------------
Can't buy what I want because it's free -
n°425883
Imhotep
Le monde est mon huître !!!
Posté le 13-06-2003 à 09:19:39  profilanswer
 

DarkLord a écrit :


Déjà de un il y a une différence ENORME entre dire ce language est trop lent et ce language est trop lent pour tel type d'application.  Tu as le droit de détester ce que tu veux, chacun est libre. Mais balancer on le trouve trop lent comme un cheveu ds la soupe, ca ne fait pas très sérieux ...


Désolé, mais comme je parlais juste avant de faire un ray-tracer, cela me paraissait d'une évidence...

n°425895
darklord
You're welcome
Posté le 13-06-2003 à 09:23:06  profilanswer
 

Imhotep a écrit :


Désolé, mais comme je parlais juste avant de faire un ray-tracer, cela me paraissait d'une évidence...


 
pas vraiment non ;)


---------------
Just because you feel good does not make you right
n°425900
Imhotep
Le monde est mon huître !!!
Posté le 13-06-2003 à 09:24:28  profilanswer
 

chrisbk a écrit :


mais a priori ce genre de question c l'ideal pour declencher une bonne guerre des familles :D


Oui c ce que je vois...  :lol: j
e me ramene pour poser une question interessante me semble-t-il et je me fais agressé...

n°425902
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-06-2003 à 09:25:02  profilanswer
 

chrisbk a écrit :


 
(ca doit etre horrible a programmer un truc comme ca)
 


J'avais essayé de programmer un émulateur Z80 un jour. Le trouvant trop lent, j'avais décidé de passer d'un interpréteur à un recompilateur dynamique.
J'ai jamais réussi à faire tourner ce bordel correctement. Je pouvais obtenir des gains phénoménaux sur une écriture en mémoire, mais je me cassais la gueule sur un transfert de registre à registre (un comble quand même).
J'ai balancé ce projet, en me disant que mon émulateur Z80 finirait par tourner le jour ou les PC dépasseront 1 Ghz [:ddr555]


---------------
J'ai un string dans l'array (Paris Hilton)
n°425904
Imhotep
Le monde est mon huître !!!
Posté le 13-06-2003 à 09:25:13  profilanswer
 

DarkLord a écrit :


 
pas vraiment non ;)


autant pour moi alors  :)

n°425907
chrisbk
-
Posté le 13-06-2003 à 09:26:06  profilanswer
 

Imhotep a écrit :


Oui c ce que je vois...  :lol: j
e me ramene pour poser une question interessante me semble-t-il et je me fais agressé...


 
ben c normal hein, y'a des fans des java et toi tu debarques avec des "Java c'est tout lent :O" alors ils se veskent.
 
Note perso je suis pas fan non plus de java et je trouve que effectivement niveau velocite on a vu mieux (surtout pour de l'intensif (genre ton RT). Perso je choisirais C++ mais bon, si ca te broute :D)

n°425919
chrisbk
-
Posté le 13-06-2003 à 09:28:45  profilanswer
 

Harkonnen a écrit :


J'avais essayé de programmer un émulateur Z80 un jour. Le trouvant trop lent, j'avais décidé de passer d'un interpréteur à un recompilateur dynamique.
J'ai jamais réussi à faire tourner ce bordel correctement. Je pouvais obtenir des gains phénoménaux sur une écriture en mémoire, mais je me cassais la gueule sur un transfert de registre à registre (un comble quand même).
J'ai balancé ce projet, en me disant que mon émulateur Z80 finirait par tourner le jour ou les PC dépasseront 1 Ghz [:ddr555]


 
tiens, tu peux en dire plus ? Perso le truc que je capte pas c comment le CPU decode rapidement les opcodes [:ddr555]
 
(Perso j'ai vu comment c t deja la misere sur mon compilo "off line" ou je pouvais me permettre une bonne grosse table des symboles bien epaisses, alors faire ca en live ca me fait assez peur :D Deja la j'ai fait pas mal d'heure de debug et y doit encore avoir plein de cas ou le truc perds pieds, encore que la depuis qq tps c stable)


Message édité par chrisbk le 13-06-2003 à 09:29:13
n°425928
LetoII
Le dormeur doit se réveiller
Posté le 13-06-2003 à 09:30:32  profilanswer
 

chrisbk a écrit :


 
ben c normal hein, y'a des fans des java et toi tu debarques avec des "Java c'est tout lent :O" alors ils se veskent.
 
Note perso je suis pas fan non plus de java et je trouve que effectivement niveau velocite on a vu mieux (surtout pour de l'intensif (genre ton RT). Perso je choisirais C++ mais bon, si ca te broute :D)


 [:plusun] En même temps il parait que la compilation Just in time ça marche bien, en même temps j'ai du  lire ça sur le site de sun alors bon...  :whistle:


---------------
Le Tyran
n°425948
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 13-06-2003 à 09:36:16  profilanswer
 

C'te vieux troll de base :sarcastic:
Si tu veux un exemple de perfos, j'en ai un : j'avais un prog C (pas programmé par moi) qui faisait de la lecture dans des fichiers puis de l'insertion en base de données MySQL. Pour 4000 fichiers, il mettait 20 min environ sur un PIII 750. Avec la même config, j'ai développé le même type de soft. Résultat, plus de 15000 fichiers en 9 min.
 
A toi de voir l'utilisation que tu comptes faire de ton prog et la connaissance que tu as de l'algo et de chaque langage [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°425959
chrisbk
-
Posté le 13-06-2003 à 09:39:48  profilanswer
 

Taiche a écrit :

C'te vieux troll de base :sarcastic:
Si tu veux un exemple de perfos, j'en ai un : j'avais un prog C (pas programmé par moi) qui faisait de la lecture dans des fichiers puis de l'insertion en base de données MySQL. Pour 4000 fichiers, il mettait 20 min environ sur un PIII 750. Avec la même config, j'ai développé le même type de soft. Résultat, plus de 15000 fichiers en 9 min.
 
A toi de voir l'utilisation que tu comptes faire de ton prog et la connaissance que tu as de l'algo et de chaque langage [:spamafote]


 
disons que la ton exemple est assez enquiquinant parce que si il a fait ses IO comme un porc (genre je lis un caractere apres l'autre) c un peu normal :D
La par contre ca serait de l'intensif, du brut, bref du 100& cpu, donc j'imagine que meme en JIT y'a risque de handicap (J'imagine, mon experience perso c quand meme avec une vieille JVM (au mieux) ou PersonnalJava (au pire, ce truc la est revoltant) alors bon)
 
 

n°425968
LetoII
Le dormeur doit se réveiller
Posté le 13-06-2003 à 09:41:44  profilanswer
 

chrisbk a écrit :


 
disons que la ton exemple est assez enquiquinant parce que si il a fait ses IO comme un porc (genre je lis un caractere apres l'autre) c un peu normal :D
La par contre ca serait de l'intensif, du brut, bref du 100& cpu, donc j'imagine que meme en JIT y'a risque de handicap (J'imagine, mon experience perso c quand meme avec une vieille JVM (au mieux) ou PersonnalJava (au pire, ce truc la est revoltant) alors bon)
 
 
 


 
Ca pourrait être probant si tu avais fait la version C.


---------------
Le Tyran
n°425980
chrisbk
-
Posté le 13-06-2003 à 09:44:53  profilanswer
 

LetoII a écrit :


 
Ca pourrait être probant si tu avais fait la version C.


 
A mon avis y'aurait gain, j'en suis quasiment sur (par analogie avec ce que j'avais deja fait avant). Je vais convertir la routine bouffant le plus de tps de Java->C (ca devrait pas etre bien dur) a l'occas

n°425984
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 13-06-2003 à 09:45:22  profilanswer
 

chrisbk a écrit :


disons que la ton exemple est assez enquiquinant parce que si il a fait ses IO comme un porc (genre je lis un caractere apres l'autre) c un peu normal :D


Ui, j'imagine que le prog C était assez mal foutu [:ddr555]  Mais c'est surtout pour dire : si tu maîtrises mieux un langage qu'un autre, il vaut mieux s'orienter vers celui-ci plutôt que de regarder lequel a les meilleures perfs au millième de seconde près. Un algo propre et compréhensible sera souvent mieux codé dans le langage qu'on maîtrise le mieux [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°426156
BifaceMcLe​OD
The HighGlandeur
Posté le 13-06-2003 à 10:36:18  profilanswer
 

Tu n'as qu'à utiliser Ada à la place : le compilateur génère du code natif et efficace, comme C++, et le langage est nettement plus rigoureux que C++ (même plus que Java).
 
Et puis c'est gratuit (aussi bien le compilo que la plupart des librairies. Et si tu veux réutiliser du code C++, c'est encore plus simple que l'interface native de Java).

n°427368
deltaden
Posté le 14-06-2003 à 02:25:31  profilanswer
 

comparaison des perfs (bon d'accord, ca date un peu, mais c'est tout ce que j'ai trouvé :/ )=> http://www.aceshardware.com/read.jsp?id=153
 
Sinon, la machine Hotspot de Sun c'est encore plus balèze qu'un JIT. Si je me souviens bien, un JIT, ca compile tout en une fois (enfin, méthode par méthode non ?) en natif et puis ca exécute.  
La Hotspot, elle commence directement en interpretant, et si elle trouve qu'il y a des bouts de code où ca reste longtemps, elle créé une nouvelle thread pour compiler ce bout de code en parallèle puis le remplace par le code natif.
 
Par exemple, si il y a 5000 ligne qui s'exécute qu'une fois, puis une boucle où elle passe tout son temps, elle compile juste la boucle. Et puis, si ca reste vraiment longtemps, elle repasse une deuxième couche avec les infos qu'elle a sur l'exécution (loop unrolling et des trucs comme ca). En gros, elle fait comme les profiler en C++, mais en temps réel!
Elle fait aussi de l'inlining et d'autre trucs, je sais plus trop...
J'avais lu un papier là dessus et c'était assez impressionant!
 
Apparement, ca marche assez bien (en tout cas pour certains codes): j'ai testé avec un algo de résolution de problème à contraintes (problème des N-reines pour ceux qui connaissent) et avec la JIT du jdk1.2.2, ca prenait 35sec, avec la hotspot du jdk1.4, ca descendait à 9sec. Pas négligeable quoi :)

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [JAVA][C#]Meilleur performance entre C# et Java ?

 

Sujets relatifs
[ java ] transfert de fichiers dans un socket[Java] erreur sous IntelliJ IDEA, sous Jbuilder non...
Applet JAVA dans du DHTMLPetite aide pour la réalisation d'un sniffer en JAVA
[java] rafraichissement jframe + info optimisation [OK][ java ] ecouteur sur un repertoire
[java] sortie dans un fichier excel?[JAVA]chemin sous-optimal+metro =je craque!!!!
JNI - Obtenir une image Java à partir d'une image WindowsOutil de dév java free
Plus de sujets relatifs à : [JAVA][C#]Meilleur performance entre C# et Java ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR