Ich habe ein Java-Programm geschrieben, das alle sich wiederholenden Permutationen basierend auf den Zeichen und der angegebenen Länge generiert.
Wenn ich meinen Code in Eclipse ausführe, wird in nur 15 Sekunden eine Datei mit 1.000.000 Permutationen generiert. Wenn ich das Programm jedoch in der Eingabeaufforderung mit "Java-Permutation" auf demselben Computer ausführe, dauert es 1 Minute 35 Sekunden, um dieselben 1M-Permutationen zu generieren.
Warum ist das? Und gibt es überhaupt eine Möglichkeit, diese Art von Leistung ohne Eclipse zu erzielen?
Bearbeiten: Java VisualVM-Ergebnisse hinzugefügt
www.craftboom.co.uk/jvm.png - Die CPU-Auslastung ist höher, wenn Eclipse ausgeführt wird. Sowohl die CPU- als auch die Speichernutzung scheinen in der Shell o_O gelegentlich auf 0 zu sinken
EDIT2: Es stellt sich heraus, dass das Drucken auf dem Bildschirm problematisch ist. Ich habe es in meinem ursprünglichen Beitrag nicht erwähnt, aber das Programm druckt jede Permutation auf der Konsole aus. Kommentierte dies aus und speicherte es stattdessen in einer Datei. Jetzt läuft es in Shell und Eclipse gleich schnell. :-)
Vielen Dank an alle für die Antworten.