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

API standards et tierces Java Discussion :

Lucene chronométrer une tâche en Java


Sujet :

API standards et tierces Java

  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Par défaut Lucene chronométrer une tâche en Java
    Bonjour,

    J'ai réussi a calculer le temps d'exécution d'un index en Java avec la fonction System.currentTimeMillis. Cependant j'aimerais effectuer le travail en boucle et faire une moyenne pour obtenir une meilleure estimation du temps. Voici une partie du code fonctionnel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import org.apache.lucene.analysis.standard.StandardAnalyzer;
    import org.apache.lucene.document.Field;
    import org.apache.lucene.document.FieldType;
    import org.apache.lucene.index.CorruptIndexException;
    import org.apache.lucene.index.IndexReader;
    import org.apache.lucene.index.IndexWriter;
    import org.apache.lucene.index.IndexWriterConfig;
    import org.apache.lucene.store.FSDirectory;
    import org.apache.lucene.util.Version;
     
        public class Indexer {
     
        // source location
        private final String sourceFilePath = "C:/JAVA/LuceneDemo/gutenberg/totaltxt";
     
        // index file location
        private final String indexFilePath = "C:/JAVA/LuceneDemo/gutenberg/index";
     
        private IndexWriter writer = null; // an index writer creates and maintains
        // an index
        private File indexDirectory = null;
     
        // constructor
        private Indexer() throws FileNotFoundException, CorruptIndexException,
        IOException {
        try {
        long start = System.currentTimeMillis();
        createIndexWriter(); // it writes data to the index
        checkFileValidity(); // finds out the files which needs to be
        // indexed
        closeIndexWriter(); // close the index writer
        long end = System.currentTimeMillis();
        System.out.println("Total des documents indexés: "
        + totalDocumentsIndexed());
        System.out.println("Ça a pris "+ (end - start) / 1000.0+" secondes.");
        } catch (Exception e) {
        System.out.println("l'indexation ne peut pas continuer");
        }
        }
     
       [...]
    Je sais que ma boucle ressemblera à ceci, mais je ne sais pas comment la placer dans mon code sans erreur. J'obtiens une boucle sans fin et je ne peut pas indexer les documents. Merci de votre aide, je me considère encore débutant et maladroit avec Java.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    long start = System.currenTimeMillis();
    for (int k = 0; k < 1000; ++k)
     mafonction();
    long end = System.currenTimeMillis();
    System.out.println("Ça a pris "+ (start-end)/1000.0+" secondes");
    System.out.println("Une moyenne de  "+ (start-end)/(1000*1000.0)+" secondes.");

  2. #2
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Par défaut
    Je pense que ma boucle est trop grande pour ma patience étant donné le nombre de documents texte que j'ai a indexés. Le problème est résolu.

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

Discussions similaires

  1. Appeller une tâche Ant depuis java
    Par Samshay dans le forum Langage
    Réponses: 0
    Dernier message: 14/03/2011, 17h37
  2. [Débutant] Imprimer une fenetre en java
    Par yup dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 10/08/2004, 11h45
  3. [PL/SQL]Appel d'une classe/méthode java
    Par marsup54 dans le forum SQL
    Réponses: 4
    Dernier message: 30/06/2004, 16h44
  4. Comment chronométrer une fonction
    Par 323 dans le forum Pascal
    Réponses: 3
    Dernier message: 19/03/2003, 20h24

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