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

Java Discussion :

Java et SSE 2


Sujet :

Java

  1. #1
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut Java et SSE 2
    Bonjour,

    ben tout est dans le titre.
    Même si je n'y crois pas trop, je me demandais s'il y avait un moyen d'utiliser les commandes SSE 2 ou 3 (mieux) en java ?

    Merci par avance.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    java tourne sur une machne virtuelle avec son propre jeu d'instruction. C'est le role de l'implémentation de la machine virtuelle en question d'utiliser à bon essicent ce que le CPU hôte founis comme possibilités.

  3. #3
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    java tourne sur une machne virtuelle avec son propre jeu d'instruction. C'est le role de l'implémentation de la machine virtuelle en question d'utiliser à bon essicent ce que le CPU hôte founis comme possibilités.
    Mmm... ok, c'est logique.
    Mais est ce que l'on ne peut pas forcer certaines accélérations/fonctions.

    Nous faisons actuellement certains tests C++ vs Java pour différents algorithmes de traitement d'images.
    Les performances indiquent clairement que la JVM je passe absolument pas par ces instructions , sauf si l'écart de performance avec C++ est désormais un coefficient fois 4 ou plus.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu ne peux pas. Même si tu faisait un code optimisé en java pur pour du SSE, quelles seraient les performances de ton algorithme une fois qu'il sera lancé sur un ARM, ou une machine AMD64?

    La première chose à faire estde vous assurer que vous n'êtes plus en interprété pour faire vos mesures. Pour ça, il existe (je les retrouve plus) des paramètres à filer à la JMV pour qu'elle affiche dans la console les méthode qu'elle compile à la volée en code natif. On peux avoir de très grosse différence de perf entre une code java interprété et un code java natif.

    Seulement, le JIT il compile pas tout en natifs, c'est pour ça qu'on doit en général faire une procédure où le calcul est fait un certain nombre de fois jusque stabilisation du temps mesuré.

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ok, pour voir ce qui est compilé nativement, rajouter ce paramètre à l'exécution

    exemple


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -XX:+PrintCompilation -jar mon.jar

  6. #6
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Voilà ce que j'obtiens, mais j'avoue ne pas savoir l'interpréter :-(


    1 java.lang.String::hashCode (64 bytes)
    2 java.lang.String::charAt (33 bytes)
    3 sun.nio.cs.UTF_8$Decoder::decodeArrayLoop (553 bytes)
    4 java.math.BigInteger::mulAdd (81 bytes)
    5 java.math.BigInteger::multiplyToLen (219 bytes)
    6 java.math.BigInteger::addOne (77 bytes)
    7 java.math.BigInteger::squareToLen (172 bytes)
    8 java.math.BigInteger::primitiveLeftShift (79 bytes)
    9 java.math.BigInteger::montReduce (99 bytes)
    10 sun.security.provider.SHA::implCompress (491 bytes)
    11 sun.nio.cs.UTF_8$Encoder::encodeArrayLoop (490 bytes)
    12 java.lang.String::indexOf (151 bytes)
    Reading image 'ImagesNdg/Einstein.pgm' 13 java.lang.String::indexOf (166 bytes)
    (256x256 <=> 65536 pixels, 8 bits BYTE_GRAY)... 14 java.util.Properties$LineReader::readLine (452 bytes)
    15 java.awt.image.BufferedImage::getWidth (8 bytes)
    17 sun.awt.image.SunWritableRaster::notifyWrite (17 bytes)
    16 sun.awt.image.ByteInterleavedRaster::setSample (163 bytes)
    1% imageTiTi.PgmTools::Read @ 163 (224 bytes)
    successfully.
    18 java.lang.Object::<init> (1 bytes)
    19 java.io.UnixFileSystem::normalize (75 bytes)
    20 java.lang.String::equals (88 bytes)
    21 java.lang.String::lastIndexOf (156 bytes)
    22 java.lang.CharacterDataLatin1::getProperties (11 bytes)
    23 java.lang.String::lastIndexOf (151 bytes)
    24 java.util.Properties::loadConvert (505 bytes)
    25 java.lang.String::startsWith (78 bytes)
    3 made not entrant sun.nio.cs.UTF_8$Decoder::decodeArrayLoop (553 bytes)
    11 made not entrant sun.nio.cs.UTF_8$Encoder::encodeArrayLoop (490 bytes)
    --- n java.lang.System::arraycopy (static)
    26 java.lang.Character::toLowerCase (162 bytes)
    27 java.lang.CharacterDataLatin1::toLowerCase (36 bytes)
    28 java.lang.String::toLowerCase (436 bytes)
    29 ij.macro.Program::lookupWord (57 bytes)
    2% sun.nio.cs.UTF_8$Encoder::encodeArrayLoop @ 73 (490 bytes)
    30 sun.nio.cs.UTF_8$Encoder::encodeArrayLoop (490 bytes)
    31 java.util.Arrays::binarySearch0 (95 bytes)
    32 sun.net.www.ParseUtil::encodePath (336 bytes)
    33 java.lang.Math::max (11 bytes)
    3% ! morphee.fastMorpheeNew.DilateSegmentHorizontalFM$DilateSegmentHorizontal2Thread::run @ 796 (2425 bytes)
    34 utils.arrays.ArraysOperations::SetConstant (19 bytes)
    4% ! morphee.fastMorpheeNew.DilateSegmentHorizontalHisto$DilateSegmentHorizontalHistoThread::run @ 628 (2062 bytes)
    5% ! morphee.fastMorpheeNew.DilateSegmentHorizontalHisto$DilateSegmentHorizontalHistoThread::run @ 712 (2062 bytes)
    time 1 = 1.164
    time 2 = 1.399
    35 sun.awt.image.ByteInterleavedRaster::getSample (133 bytes)
    36 sun.awt.image.SunWritableRaster::notifyRead (17 bytes)
    6% imageTiTi.ImageTools::areEqual @ 133 (202 bytes)
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Toutes les lignes précédées d'un chiffre sont des méthode compilées nativement. Les méthodes avec un % indiquent le tau d'utilisation de ces méthode. C'est là dessus que le JIT détermine les classes qu'il compile.

  8. #8
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Mouai... on dirait donc qu'il n'y a pas grand chose à faire pour moi :-(
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  9. #9
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    comme toujours en java, lancer un profiler, déterminer les points chauds pour les améliorer.

  10. #10
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    En parlant de profiler, quels sont ceux performants en Java ?
    Est ce qu'il y en a qui peuvent être directement dans Eclipse ?
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  11. #11
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    il y a des profiler intégrés à eclipse et netbeans (me souviens plus de leur nom), c'est suffisant pour déterminer les points chauds de votre programme.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. le Java est la continuité du C++ ???
    Par Vincent PETIT dans le forum Débats sur le développement - Le Best Of
    Réponses: 33
    Dernier message: 25/08/2005, 20h17
  2. Envoi de Datagrames par IP en JAVA
    Par the java lover dans le forum Développement
    Réponses: 2
    Dernier message: 14/08/2002, 11h44
  3. directx et java?? possible??
    Par jiraiya dans le forum DirectX
    Réponses: 3
    Dernier message: 09/07/2002, 19h55
  4. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24
  5. Service de nommage java C++
    Par Anonymous dans le forum CORBA
    Réponses: 3
    Dernier message: 15/04/2002, 12h48

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