J
java-coderrr
Gast
Hallo,
ich hab ein Stück code, welches ich noch schneller machen muss. (weils eine Hausaufgabe ist, darf ich es leider nicht veröffentlichen!)
Der ganze Code steht in einer Klasse (also ich kann nur 1 Klasse abgeben). Welche allgemeinen Methoden zur Beschleunigung gibt es?
Meine bisherigen Gedankengänge wären:
*) Sämtliche rekuriven Funktionen auf Schleifen reduzieren (ein rekursiver Funktionsaufruf dauert länger, als eine Schleife?)
*) Bestimmte Teilberechnungen so früh wie möglich machen, damit ich mehrere "kleine Aufgaben löse" und nicht 1 extrem große.
*) Den Garbage Collector für den Zeitabschnitt deaktivieren, unter welchem die Zeit gemessen wird (?)
*) Funktionsaufrufe minimieren (obwohl dadurch der Code an schönheit verliert)
*) Eine lokale Klasse mit extends Thread implementieren und Zeitkritische Abläufe parallel abarbeiten.
Leider fallen mir nicht wirklich recht viel mehr Ideen ein. Mein Programm benötigt zur Zeit um 15 Testinstanzen abzuarbeiten ca. 8 Sekunden. Hat jemand noch weitere Ideen? (also allgemeine, ich weiß, die Aussagekraft ist ziemlich beschränkt, wenn man keinen konkreten Code vor sich hat, aber vielleicht fällt jemand anderen noch etwas gutes ein)
ich hab ein Stück code, welches ich noch schneller machen muss. (weils eine Hausaufgabe ist, darf ich es leider nicht veröffentlichen!)
Der ganze Code steht in einer Klasse (also ich kann nur 1 Klasse abgeben). Welche allgemeinen Methoden zur Beschleunigung gibt es?
Meine bisherigen Gedankengänge wären:
*) Sämtliche rekuriven Funktionen auf Schleifen reduzieren (ein rekursiver Funktionsaufruf dauert länger, als eine Schleife?)
*) Bestimmte Teilberechnungen so früh wie möglich machen, damit ich mehrere "kleine Aufgaben löse" und nicht 1 extrem große.
*) Den Garbage Collector für den Zeitabschnitt deaktivieren, unter welchem die Zeit gemessen wird (?)
*) Funktionsaufrufe minimieren (obwohl dadurch der Code an schönheit verliert)
*) Eine lokale Klasse mit extends Thread implementieren und Zeitkritische Abläufe parallel abarbeiten.
Leider fallen mir nicht wirklich recht viel mehr Ideen ein. Mein Programm benötigt zur Zeit um 15 Testinstanzen abzuarbeiten ca. 8 Sekunden. Hat jemand noch weitere Ideen? (also allgemeine, ich weiß, die Aussagekraft ist ziemlich beschränkt, wenn man keinen konkreten Code vor sich hat, aber vielleicht fällt jemand anderen noch etwas gutes ein)