G
Guest
Gast
hey leute
wir sollen einne laufzeitmesser für java programm erstellen.
hab das versucht folgendermaßen zu realisieren.
ich erstelle ein programm "Messprogramm" welches beim aufruf in der kommandozeile direkt den dateinamen des aufzurufenden programms und dessen argumente übergeben bekommt.
danach versuche ich dann das programm mit
akZeit=System.nanoTime();
Runtime.getRuntime.exec("java "+DATEINAME+" "+arg1+arg2...).waitFor()
neueZeut=System.nanoTime()-akZeit();
habe jetzt bei der 2.zeile das einfach so hingeschrieben, dass ihr ca versteht was ich meine.
also es wird die aktuelle zeit gemessen. dann wird das programm aufgerufen mit den argumenten und es wird so lange gewartet mit waitFor() bis das programm zu ende ist und dann wird die zeitdifferenz in neueZeit gespeichert.
irgendwie klappt das alles nicht. ich bekomme immer grob die selbe zeit.
Selbst wenn ich ein programm aufrufe, das argumente übergeben bekommen müsste, jedoch keine angebe kommt kein fehler.
zb es soll die Laufzeit von Test(int a, int b) getestet werden und ich gebe im LaufzeitMesser
Runtime.getRuntime.exex("java "+DATEINAME+).waitFor()
an, also ohne argumente, da kommt kein fehler und immer grob die selbe zeit.
habt ihr eine idee woran das liegen kann?
ich muss doch in dem argument von "exex" sozusagen den kommandozeilenbefehl des zu öffnenden programm angeben oder? das mache ich und das funktioniert auch, habe ich mit system.out überprüft
zB "java TestKlasse 1 2 3"
wäre echt super, wenn mir einer von euch weiterhelfen könnte
wir sollen einne laufzeitmesser für java programm erstellen.
hab das versucht folgendermaßen zu realisieren.
ich erstelle ein programm "Messprogramm" welches beim aufruf in der kommandozeile direkt den dateinamen des aufzurufenden programms und dessen argumente übergeben bekommt.
danach versuche ich dann das programm mit
akZeit=System.nanoTime();
Runtime.getRuntime.exec("java "+DATEINAME+" "+arg1+arg2...).waitFor()
neueZeut=System.nanoTime()-akZeit();
habe jetzt bei der 2.zeile das einfach so hingeschrieben, dass ihr ca versteht was ich meine.
also es wird die aktuelle zeit gemessen. dann wird das programm aufgerufen mit den argumenten und es wird so lange gewartet mit waitFor() bis das programm zu ende ist und dann wird die zeitdifferenz in neueZeit gespeichert.
irgendwie klappt das alles nicht. ich bekomme immer grob die selbe zeit.
Selbst wenn ich ein programm aufrufe, das argumente übergeben bekommen müsste, jedoch keine angebe kommt kein fehler.
zb es soll die Laufzeit von Test(int a, int b) getestet werden und ich gebe im LaufzeitMesser
Runtime.getRuntime.exex("java "+DATEINAME+).waitFor()
an, also ohne argumente, da kommt kein fehler und immer grob die selbe zeit.
habt ihr eine idee woran das liegen kann?
ich muss doch in dem argument von "exex" sozusagen den kommandozeilenbefehl des zu öffnenden programm angeben oder? das mache ich und das funktioniert auch, habe ich mit system.out überprüft
zB "java TestKlasse 1 2 3"
wäre echt super, wenn mir einer von euch weiterhelfen könnte