tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von automatix1311
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
341
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    automatix1311 automatix1311 ist offline Mitglied Bronze
    Registriert seit
    Nov 2007
    Beiträge
    26
    Hallo!

    Ich hab ein winziges und trotzdem sehr langsames Programmchen geschrieben... Um ein 2D-Array 10x10 zu erzeugen, es mit Zufallswerten zu füllen und formatiert auszugeben, braucht es mehr als 10 Sekunden.

    Wie kann man herausfinden, warum ein Programm langsam ist?
     

  2. #2
    Avatar von hammet
    hammet hammet ist offline himekishi
    Registriert seit
    Aug 2006
    Ort
    Bayern
    Beiträge
    334
    Also du kannst zum Beispiel dein Programm mit Zeitausgaben versehen, wan eine bestimmte Methode beginnt und endet, so kannst du anhand der Ausgabe erkennen welcher Methodenaufruf zu lange brauch.
    Außerdme besteht die Möglichkeit einen Debugger zu benutzen, wenn du eine IDE benutzt (z.B. Eclipse).
     
    Handlanger des Dr. Ex1tus

    Ich kenne Matzes dunkles Geheimnis ! oO

    o
    L_/
    OL
    This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat.

    Hallo Nuray!

  3. #3
    automatix1311 automatix1311 ist offline Mitglied Bronze
    Registriert seit
    Nov 2007
    Beiträge
    26
    Zitat Zitat von hammet Beitrag anzeigen
    Also du kannst zum Beispiel dein Programm mit Zeitausgaben versehen, wan eine bestimmte Methode beginnt und endet, so kannst du anhand der Ausgabe erkennen welcher Methodenaufruf zu lange brauch.
    Meinst Du System.currentTimeMillis(); ?
     

  4. #4
    The_S Tutorials.de Gastzugang
     

  5. #5
    Avatar von hammet
    hammet hammet ist offline himekishi
    Registriert seit
    Aug 2006
    Ort
    Bayern
    Beiträge
    334
    Ja zum Beispiel damit. Oder aber auch mit einem Timer, wobei ersteres am einfachsten und schnellsten gehen würde.

    @The_S
    Dein post war aber auch nichts anderes
     
    Handlanger des Dr. Ex1tus

    Ich kenne Matzes dunkles Geheimnis ! oO

    o
    L_/
    OL
    This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat.

    Hallo Nuray!

  6. #6
    automatix1311 automatix1311 ist offline Mitglied Bronze
    Registriert seit
    Nov 2007
    Beiträge
    26
    Zitat Zitat von The_S Beitrag anzeigen
    Hast Du ein Problem damit? In mehreren Foren die gleiche Frage zu stellen ist völlig in Ordnung. Man sollte nur, wenn man eine gute Lösung gefunden hat, diese ebenfalls in allen Foren posten, in denen man seine Frage gestellt hat.
     

  7. #7
    automatix1311 automatix1311 ist offline Mitglied Bronze
    Registriert seit
    Nov 2007
    Beiträge
    26
    Zitat Zitat von hammet Beitrag anzeigen
    Ja zum Beispiel damit. Oder aber auch mit einem Timer, wobei ersteres am einfachsten und schnellsten gehen würde.
    Alles klar, vielen Dank!
     

  8. #8
    The_S Tutorials.de Gastzugang
    Um dich auch hier nochmal darauf hinzuweisen:

    http://de.wikipedia.org/wiki/Crosspo...gs_in_Webforen

    Allerdings bin ich noch recht neu auf tutorials.de und weiß nicht, wie es hier mit Crosspostings gehandhabt wird (nicht erwünscht, gedulded, egal, ...). Wäre schön, wenn mich hierbezüglich ein Moderator oder Admin in diesem Thread oder per PN aufklären könnte . Danke!
     

  9. #9
    automatix1311 automatix1311 ist offline Mitglied Bronze
    Registriert seit
    Nov 2007
    Beiträge
    26
    OK, die Lösung gefunden, es lag an meiner Random-Klasse.

    Code :
    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
    
    package utils;
     
    import java.util.Random;
     
    public class ExtendedRandom extends Random {
         
        public ExtendedRandom() {
            super();
        }
        
        /**
        Liefert eine ganze Zufallszahl aus dem Bereich [min; max].
        @param min
        @param max
        @return
        */
        public int nextInt(int min, int max) {
    //      NEVER AGAIN :)
    //      int num = nextInt();
    //      while (num < min || num > max) {
    //          num = nextInt();
    //      }
    //      return num;
            return nextInt(max - min + 1) + min;
        }
        
    }
    Danke!

    P.S. Hier die Links zu diesem Thema auf anderen Foren:
    java-forum.org (Lösung)
    java.de
    forum.javacore.de
    tutorium.mbeier.org/forum
    Geändert von automatix1311 (03.11.08 um 13:58 Uhr)
    vfl_freak bedankt sich. 

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 19.09.08, 19:11
  2. einzelne Programm mit eigenem Programm starten
    Von mgraf im Forum Microsoft Windows
    Antworten: 12
    Letzter Beitrag: 12.09.08, 21:07
  3. Gestartetes Programm kann kein weiteres Programm starten
    Von RuFFnEcK im Forum VisualStudio & MFC
    Antworten: 3
    Letzter Beitrag: 04.10.06, 13:48
  4. Antworten: 0
    Letzter Beitrag: 25.04.05, 20:06
  5. Mein erstes Programm in VB ein Interval-Programm
    Von KooF im Forum Visual Basic 6.0
    Antworten: 11
    Letzter Beitrag: 25.04.05, 15:46