Forum: Mikrocontroller und Digitale Elektronik makefile Zeit meesen / Build-Zeit


von Klaus B. (nuccleon)


Lesenswert?

Guten morgen erstmal,

ich möchte meinem Chef verdeutlichen, dass mein PC vieeel zu lam für 
meine Anwendungen ist. Deshalb möchte ich die Zeit messen, die mein 
Rechner für einen kompletten Rebuild benötigt.

Ich verwende zum 'bauen' gnu-make.
Gibt es ne Möglichkeit in make, die Zeit vom Aufruf bis zum Abschluss zu 
messen? Systemvariable?

Google brache mir leider keine Erkenntnis darüber...

Gruß Claus

von Tom (Gast)


Lesenswert?

Wie wärs wenn du den Chef einfach mal zu dir bittest und es ihm zeigst?

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

einfach im Makefile mit  "touch startzeit" und "touch endzeit" zwei 
(Leer-) Dateien auf dem Dateisystem ablegen. Der 
Datei-Erzeugungs-Zeitstempel kann dann ausgewertet werden.

von Tobi (Gast)


Lesenswert?

date

von Klaus B. (nuccleon)


Lesenswert?

Wow, das ging ja schnell

@Tom:
Ich möchte das schriftlich haben und aufiterieren

@Wegstaben Verbuchsler:
Daran habe ich auch schon gedacht, klingt auch ganz plausiebel, nur das 
aufiterieren wird schwierig.

Gibt's ne Möglichkeit ein File anzulegen, den Zeitstempel vom 1. Make, 
den Zeitstempel vom letzen Make und dann die Differenz einzutragen?

von Klaus W. (mfgkw)


Lesenswert?

Wenn du mit Linux arbeitest oder unter Windows div. GNU-Tools
installiert hast, gibt es das Kommando time.

Wenn man mit z.B. "make all" alles bauen kann, dann passiert mit
"time make all" genau dasselbe - aber es wird zum Schluß ausgegeben,
wie lange das Kommando lief und wieviel CPU-Zeit verbraucht wurde.

von Chef (Gast)


Lesenswert?

Hallo, warum brauchst du das schriftlich? Zeig es deinen Chef und 
erkläre ihm das es mit einem neuen PC schneller ginge (was du ja auch 
erst beweisen kannst wenn du einen hast)
Wenn er nein sagt, hol dir einen Kaffe und freue dich das du dafür 
bezahlt wirst compiler ausgaben anzuschauen die über deinem Bildschirm 
huschen :)

von Axel R. (Gast)


Lesenswert?

Installiere die Toolchain auf deinem Notebook und lass beides parallel 
compilieren. Dann kannst Du deinem Chef zeigen, das dein privates 
Notebook das viel schneller macht, als der PC vonna Arbeit.

Sollte es anders herum sein, also dein Notebook langsamer sein, als der 
PC, wird dich dein Chef fragen, warum DU dir kein neues Notebook 
kaufts.

Die Antwort, die Du deinem Chef geben wirst (kein Geld, keine 
Notwendigkeit usw.) wird die gleiche Antwort sein, die dein Chef auf 
Deine Anfrage hin parat haben wird.

Also: lass es so wie es ist - es wird im Zuge der Zeit sicher mal was 
neues geben. Bis dahin - Kaffee trinken und zusehen (wie eben schon 
gesagt)

Machen wir alle so ;))

Axelr.

Auch mit VIER Kernen wirds nicht schneller, ich habe hier was "neues" 
stehen...

von Karl H. (kbuchegg)


Lesenswert?

Über welche Zeiten sprechen wir eigentlich und warum sind die so hoch?

> Deshalb möchte ich die Zeit messen, die mein Rechner für einen
> kompletten Rebuild benötigt

Dann wird dein Chef sagen: Verleg den kompletten Rebuild in die Nacht. 
Die paar Ausnahmen an denen du tagsüber einen kompletten Rebuild 
brauchst, sind schon ok, hol dir einen Kaffee.


> Machen wir alle so ;))
Jep.
Aber in erster Linie sind unsere Makefiles so, dass tatsächlich nur das 
Notwendigste gebaut werden muss. Und das geht dann in ein paar Sekunden 
und nicht Stunden. Und die paar Ausnahmen werden geschluckt und die Zeit 
für Forenfragen benutzt :-)

> Also: lass es so wie es ist
Ganz im Gegenteil. Ich bin froh, wenn ich für mich keine neue 
Entwicklungsmaschine aufsetzen muss. Bis dann die Toolchain und all die 
kleinen Helfer wieder da sind ... das dauert. Vor allem die kleinen 
Helfer, an die man sich erst erinnert, wenn man sie das nächste mal 
braucht.

von Klaus C. (Gast)


Lesenswert?

Klaus B. schrieb:
> aufiterieren
Was ist das?

von Tobi (Gast)


Lesenswert?

> aufiterieren

Danke, ein neues Wort für Bullshitbingo.

von Peter D. (peda)


Lesenswert?

Schau Dir mal die Netzwerkauslastung an.

Es soll Leute geben, die compilieren auf dem Netzlaufwerk.

Compiler, Temp-Verzeichnis und Projekt sollten lokal sein.


Peter

von Karl H. (kbuchegg)


Lesenswert?

Warum benutzt du eigentlich nicht die Zwangspause des nächsten 
Rebuild-All um dir ein kleines Tool zu bauen, welches die Zeiten 
mitloggt?
Ist doch keine Hexerei so was zu bauen und wenn dir vom 
Compiler-zukucken fad ist, ist es auch noch eine Abwechslung. Zeit hast 
du ja.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

"iterieren"

Bedeutungen:

    [1] allgemein: (mehrfach) wiederholen
    [2] Mathematik, Informatik: wiederholt dasselbe Rechenverfahren 
anwenden, um sich der Lösung eines Rechenproblems schrittweise 
anzunähern
    [3] Java: Liste: schrittweise durchgehen

Herkunft:

    lat. "iterare" "wiederholen"


"auf" wird verwendet um etwas "höher" zu setzen (aufwerten).

"aufiterieren" wäre also etwas wie höher zu wiederholen. Oder besser: 
noch mehr zu wiederholen als es bisher der Fall war.

Jedoch verstehe ich nicht, wie man Messwerte noch mehr wiederholt.

Du meinst wohl eher den Durchschnitt bilden.

Lass doch Fremdwörter weg, die du nicht verstehst/kennst. Oder 
informiere dich besser mal, was das bedeutet.

Wenn Du deinem Chef mit diesem Wort kommst (ich habe hier aufiterierte 
Laufzeitmessungen der letzen Rebuilds meines Projektes), wird er dir auf 
jeden Fall eins husten.

von Spötter (Gast)


Lesenswert?

Programmier' halt alles von Anfang bis Ende fehlerfrei durch, dann 
brauchst Du nur einmal kompilieren.

scnr.

von Klaus C. (Gast)


Lesenswert?

@Christian H. (netzwanze)
Auf auf-iterieren wäre ich nie gekommen, danke. Google wollte mich 
immer in die Medizin/Chemie (auftitrieren) schicken. ;-)

von Axel R. (Gast)


Lesenswert?

ich hätte statt dessen kuhmolieren verwendet ;)
Er will ja bestimmt sagen, das er pro Jahr 2Wochen und 3Tage vor der 
Kiste gesessen hat.
Alsdo nicht Durchschnitt, sondern hinzuplussen.
:)

von Karl H. (kbuchegg)


Lesenswert?

Es könnte auch ein österreichisches Kunstwort (mit einem Tippfehler) 
sein.

aufi - terrieren

Also einen Terrier aufi (nach oben) bringen. In den Dachboden oder so.

von Axel R. (Gast)


Lesenswert?

auwei - nu iss gut

Kommandozeile in Windows (Start->Ausführen->CMD)

1.Schritt:

 - Test, ob "time" ansich funktioniert

C:\Dokumente und Einstellungen\ar>time
Aktuelle Zeit: 13:33:35,47
Geben Sie die neue Zeit ein:

C:\Dokumente und Einstellungen\ar>
--------------
geht!

2.Schritt:

 - Test, ob sich die Zeit in eine Datei schreiben lässt
 - Neue Datei zeittest.txt erstellen, Zeit reinschreiben
C:\Dokumente und Einstellungen\ar>time >zeittest.txt

Inhalt der neu erstellte Datei anzeigen lassen
C:\Dokumente und Einstellungen\ar>type zeittest.txt
Aktuelle Zeit: 13:35:20,48
Geben Sie die neue Zeit ein:
C:\Dokumente und Einstellungen\ar>
------------
geht!

3.Schritt
Weitere Zeitstempel an die Datei Zeittest.txt anhängen

C:\Dokumente und Einstellungen\ar>time >>zeittest.txt

C:\Dokumente und Einstellungen\ar>time >>zeittest.txt

C:\Dokumente und Einstellungen\ar>time >>zeittest.txt

C:\Dokumente und Einstellungen\ar>time >>zeittest.txt

C:\Dokumente und Einstellungen\ar>time >>zeittest.txt

und ausgeben lassen

C:\Dokumente und Einstellungen\ar>type zeittest.txt
Aktuelle Zeit: 13:35:20,48
Geben Sie die neue Zeit ein: Aktuelle Zeit: 13:52:40,16
Geben Sie die neue Zeit ein: Aktuelle Zeit: 13:55:56,15
Geben Sie die neue Zeit ein: Aktuelle Zeit: 13:55:58,26
Geben Sie die neue Zeit ein: Aktuelle Zeit: 13:55:59,71
Geben Sie die neue Zeit ein: Aktuelle Zeit: 13:56:01,51
Geben Sie die neue Zeit ein:
C:\Dokumente und Einstellungen\ar>
---------------
geht!

Das kann man sich jetzt ins makefile basteln. wie? k.A

Gruß
Axelr.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.