Aller au contenu

Java runtime


beegees

Messages recommandés

Salut a tous.

Dans un programme java je dois faire tourner une appli extérieure.

Je l'ai donc tester dans un projet test avant de l'insérer dans un projet deja en court.

Dans mon main je lance deux threads qui récuperent les donnees de l'appli et les erreurs.

Le temps total est de 130 ms a peu pres et le code marche impec.

Cependant, lorsque je copie exactement le même code dans le vrai projet, le temps de traitement passe à 1 seconde.

En fait, 1 seconde par chaine de caracteres et il doit en traiter 150..., donc un peu moins de 3 minutes...c'est beaucoup trop long.

voici le code du thread :

public void run() {
	try {
		BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
		String line = "";
		try {
			while((line = reader.readLine()) != null) {
				// Traitement court
			}
		} finally {
			reader.close();
		}
	} catch(IOException ioe) {
		ioe.printStackTrace();
	}
}

Apres quelques tests, il s'est avérer que le traitement le plus long est le readline (+ ou - une seconde).

Savez vous d'ou vient un tel changement de temps entre deux codes identiques?

Merci

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...