PDA

View Full Version : [C]Tempi di compilazione


repla
17-10-2012, 16:01
Ciao a tutti.
Mi trovo a dovere affrontare un problema per me nuovo.
Per un progetto universitario sto scrivendo del codice in varie forme.
Fin qui niente di nuovo.
A me servirebbe un compilatore che mi indichi quanto tempo ci mette a compilare (scusate il gioco di parole)il mio codice possibilmente in millisecondi.
Inoltre, e qui viene il difficile, dovrebbe funzionare sia sotto linux che sotto windows.
gcc e mingw che ora uso mi danno solo il tempo in secondi ed essendo codice abbastanza "stupido" non noto differenze in quanto come tempo mi dà sempre un secondo.
Spero di essere stato chiaro.
Grazie a chi vorrà aiutarmi.

Ciao

GByTe87
18-10-2012, 13:25
Potresti wrappare il tuo compilatore con uno script (magari scritto in un linguaggio multipiattaforma, es python) che misuri il tempo di esecuzione.

repla
18-10-2012, 20:33
@GByTe87
sono un po ignorante su quello che hai scritto. potresti farmi un esempio?

GByTe87
19-10-2012, 09:07
Qualcosa del genere:

import time, subprocess

start = time.time()
cmd = ["gcc", "hello.c"];
p = subprocess.Popen(cmd);
p.wait();
print "CompileTime: %s" % str(time.time() - start)

Chiaramente son due righe buttate giù al volo. Va modificata la parte relativa a compilatore usato e file da compilare per renderlo multipiattaforma.

!fazz
19-10-2012, 09:56
Ciao a tutti.
Mi trovo a dovere affrontare un problema per me nuovo.
Per un progetto universitario sto scrivendo del codice in varie forme.
Fin qui niente di nuovo.
A me servirebbe un compilatore che mi indichi quanto tempo ci mette a compilare (scusate il gioco di parole)il mio codice possibilmente in millisecondi.
Inoltre, e qui viene il difficile, dovrebbe funzionare sia sotto linux che sotto windows.
gcc e mingw che ora uso mi danno solo il tempo in secondi ed essendo codice abbastanza "stupido" non noto differenze in quanto come tempo mi dà sempre un secondo.
Spero di essere stato chiaro.
Grazie a chi vorrà aiutarmi.

Ciao
se usi un compilatore a riga di comando sotto linux avere il tempo di compilazione è di una facilità disarmante, basta che fai precedere il comando di compilazione dalla keyword time
http://linux.about.com/library/cmd/blcmdl1_time.htm

io lo usavo per i tempi di esecuzione di un programma ma funziona con qualsiasi comando

su windows puoi utilizzare lo stesso comando se utilizzi una shell apposita come cygwin

repla
20-10-2012, 07:48
se usi un compilatore a riga di comando sotto linux avere il tempo di compilazione è di una facilità disarmante, basta che fai precedere il comando di compilazione dalla keyword time
http://linux.about.com/library/cmd/blcmdl1_time.htm

io lo usavo per i tempi di esecuzione di un programma ma funziona con qualsiasi comando

su windows puoi utilizzare lo stesso comando se utilizzi una shell apposita come cygwin

grazie ad entrambi.
Sto proseguendo su questa strada dato che linux comunque è installato e quindi li subito risolvo.
Su windows sto installando cygwin.

Grazie