Re: tempo di compilazione

#59847
OldClaudio
Partecipante
    Up
    0
    Down
    ::


    Enrico di ha già dato la soluzione, quindi potrei starmene zitto; ma ritengo che segnalare la documentazione sia sempre utile.

    Esegui texdoc pdftex e guarda l’indice a destra: clicca su Timekeeping e vedrai la descrizione dei due comandi primitivi di pdf(La)TeX, forniti dal motore di composizione pdftex. La descrizione è utilissima anche per capire quello che ha scritto Enrico, e per, eventualmente, fare altre cose usando anche il comando \pdfresettimer oltre che \pdfelapsedtime.

    Naturalmente si il codice di Enrico e quanto scritto nella documentazione funzionano solo se il motore di composizione è pdftex, il che, oggi, significa non solo con pdf(La(TeX, ma anche con (La)TeX, visto che il motore è sempre lo stesso, cambia solo il valore numerico contenuto nel contatore \pdfoutput. Non sono sicuro invece che funzioni con Xe{(La)TeX; probabilmente sì, ma non ho mai provato.

    Contrordine: ho provato.

    Infatti non funziona con Xe(La)TeX, quindi il cronometro è una particolarità di pdftex. Non solo, ma ho constatato che nemmeno il programma tex di Knuth è in grado di farlo, perché il suo registro di sola lettura \time (usabile anche con Xe(La)TeX) contiene solo il numero (intero) di minuti trascorsi dall’inizio del giorno; inoltre viene impostato all’inizio del job, non viene (apparentemente) aggiornato durante l’esecuzione; è vero che un minuto è lungo, quindi finora non ho potuto verificare se venga aggiornato durante l’esecuzione; tuttavia se anche lo fosse la risoluzione di un minuto è troppo scarsa per i calcolatori di oggi che viaggiano a miliardi di operazioni al secondo.

    Per ora non vedo nessuna speranza di poter far calcolare internamente i tempi di esecuzione a programmi di compilazione diversi da quelli azionati dal motore pdftex.

    Go to top