Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Benchmark Java vs C++...

22 réponses
Avatar
marcpirat
salut

pour ceux désirant voir les performances de Java, C++ et GCJ dans quelques domaines
j'ai effectué quelques tests

http://www.laboiteaprog.com/tutoriel725


bye

10 réponses

1 2 3
Avatar
Fabien LE LEZ
On 22 Oct 2004 05:31:28 -0700, (os2):

pour ceux désirant voir les performances de Java, C++ et GCJ dans quelques domaines
j'ai effectué quelques tests


Il manque le principal, là où Java pêche : la gestion de la mémoire.
Ceci dit, C++ avec un GC collé dessus ne doit pas faire mieux.


--
;-)

Avatar
Twxs
os2 wrote:
salut

pour ceux désirant voir les performances de Java, C++ et GCJ dans quelques domaines
j'ai effectué quelques tests

http://www.laboiteaprog.com/tutoriel725


bye
ca serait possible d'avoir plus de details et les sources de tes programmes.

j'avoue que les resultats me surprennent.

par exemple en cherchant test methcall sur google, je tombe ds les
premiers liens sur une page annoncant :
source sec mem(kB)
g++ 0.07 644
java 0.74 7520

certe, le test doit dater un peu....

sinon, question : a quoi sert l'option -server a java?


Twxs

Avatar
Luc Hermitte
(Tiens un troll...)

(os2) wrote in
news::

pour ceux désirant voir les performances de Java, C++ et GCJ dans
quelques domaines j'ai effectué quelques tests


Et si tu utilisais un autre compilateur C++ ? Genre un qui est réputé
pour produire un exécutable encore plus optimisé.
(à moins que GCC ait fait de gros progrès...)

Les fichiers source sont bien cachés. Le lien à suivre n'est pas mis en
valeur. De plus, on a droit à un joli 403.

PS: en C++, on ne va pas utiliser strcat, mais std::string::operator+=()
qui devait être encore plus rapide dès qu'assez de mémoire aura été
réservée. Soit à la deuxième itération ou avant si c'est connu. (ceci
dit, les sources sont inaccessibles)

PPS: Pour les matrices C++ est au coude à coude avec le fortran et permet
une expressivité "mathématique" -- grâce à la surcharge d'opérateurs ; tu
parlais de la facilité de développement.

--
Luc Hermitte <hermitte at free.fr>
FAQ de <news:fr.comp.lang.c++> :
<http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/>
Dejanews : <http://groups.google.com/advanced_group_search>

Avatar
Jean-Marc Bourguet
(os2) writes:

salut

pour ceux désirant voir les performances de Java, C++ et GCJ dans
quelques domaines j'ai effectué quelques tests

http://www.laboiteaprog.com/tutoriel725


Je ne fais pas confiance aux benchmarks que je n'ai pas fait moi-meme:
ils n'ont pas les memes prejuges que moi :-)

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Avatar
Jean-Marc Bourguet
Luc Hermitte writes:

Les fichiers source sont bien cachés.


Tellement bien que j'ai pas trouve.

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Avatar
Fabien LE LEZ
On 22 Oct 2004 15:58:31 +0200, Jean-Marc Bourguet :

Je ne fais pas confiance aux benchmarks que je n'ai pas fait moi-meme:
ils n'ont pas les memes prejuges que moi :-)


De toutes façons, la performance je m'en fous : je programme en C++ et
pas en Java uniquement pour préserver ma santé mentale.


--
;-)

Avatar
Jean-Marc Bourguet
Fabien LE LEZ writes:

On 22 Oct 2004 15:58:31 +0200, Jean-Marc Bourguet :

Je ne fais pas confiance aux benchmarks que je n'ai pas fait moi-meme:
ils n'ont pas les memes prejuges que moi :-)


De toutes façons, la performance je m'en fous : je programme en C++
et pas en Java uniquement pour préserver ma santé mentale.


Moi je ne m'en fous pas. Mais doubler ma memoire occupee (overhead
commun d'un GC d'apres ce que j'ai entendu dire, naturellement il doit
y avoir des exceptions) n'est pas une option. Et le travail sur les
algo permet des gains bien plus importants.

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org


Avatar
Matthieu Moy
Jean-Marc Bourguet writes:

Moi je ne m'en fous pas. Mais doubler ma memoire occupee (overhead
commun d'un GC d'apres ce que j'ai entendu dire, naturellement il doit
y avoir des exceptions)


Ce n'est pas que le GC qui bouffe de la mémoire en Java :

Toutes les classes héritent de Object, qui contient déjà pas mal de
choses pour la gestion des verrous par exemple. Résultat, un Integer
prends entre 20 et 30 octets de mémoire si mes souvenirs sont bons.

Après, faut voir : Sur des machines récentes et selon les
applications, ce n'est pas forcément la mémoire qui est limitante ...

--
Matthieu

Avatar
Fabien LE LEZ
On Fri, 22 Oct 2004 16:12:25 +0200, Matthieu Moy
:

Après, faut voir : Sur des machines récentes et selon les
applications, ce n'est pas forcément la mémoire qui est limitante ...


Ben... vu que la mémoire virtuelle semble pas mal utilisée sur mon PC
pourvu de 768 Mo de RAM (i.e. du même ordre de grandeur que les 512 ou
1024 fournis sur les PC achetés actuellement), quelques centaines de
Mo peuvent faire une différence importante.



--
;-)

Avatar
Richard Delorme
os2 wrote:

salut

pour ceux désirant voir les performances de Java, C++ et GCJ dans
quelques domaines
j'ai effectué quelques tests

http://www.laboiteaprog.com/tutoriel725


bye


ca serait possible d'avoir plus de details et les sources de tes
programmes.


A priori les programmes viennent de là :
http://kano.net/javabench/
Et eux-même proviennent de là :
http://shootout.alioth.debian.org/

j'avoue que les resultats me surprennent.


Pas vraiment, ce sont des programmes vraiment idéaux pour un compilateur
JIT : peu de code répété de nombreuse fois.

par exemple en cherchant test methcall sur google, je tombe ds les
premiers liens sur une page annoncant :
source sec mem(kB)
g++ 0.07 644
java 0.74 7520


Peut-être le même programme, mais avec les boucles prncipales exécutés
moins souvent. Le temps de lancer la jvm rend le programme java perdant.


certe, le test doit dater un peu....

sinon, question : a quoi sert l'option -server a java?


A sélectionner la machine virtuel : "Java Hotspot Server VM"; par
opposition à la "Java HotSpot Client VM". Leur performance et
consommation mémoire varient.

--
Richard


1 2 3