View previous topic :: View next topic |
Author |
Message |
Panda Apprentice
Joined: 31 Jul 2003 Posts: 223 Location: Cremona <=> Catania
|
Posted: Sat Aug 14, 2004 5:09 pm Post subject: [TIP] Velocizzare emerge (per impazienti) |
|
|
Fatevi sto flash: avevate mai fatto caso a quanto tempo viene impiegato a visualizzare i caratteri sullo schermo? Apparentemente poco, ma se considerate tutti i caratteri visualizzati mentre compilate roba pesante e approssimativamente sommate questi piccoli intervalli di tempo vi accorgerete che gli istanti accumulati ammontano ad una quota forse anche abbastanza sensibile!
Code: | emerge nomeprogramma > /dev/null &> /dev/null && echo $? |
Su un pentium II 350 Mhz ci sono stato tre quarti d'ora in meno a compilare xfree! Ve ne renderete conto subito pattumando stdout e sterr quando emergete *-sources, penso che ci stia piu' tempo a visualizzare quello che sta facendo che a farlo realmente... |
|
Back to top |
|
|
!equilibrium Bodhisattva
Joined: 06 Jun 2004 Posts: 2109 Location: MI/BG/LC
|
Posted: Sat Aug 14, 2004 5:51 pm Post subject: |
|
|
confermo il tuo TIP, la stessa identica cosa si ottiene aggiungendo l'opzione -s a tutti i comandi make, per farlo è sufficiente aggiungere *-s* alle esistenti CFLAGS/CXXFLAGS:
CFLAGS=" xxxxxxxx vostre cflags xxxxx -s"
CXXFLAGS=" xxxxxxxx vostre cflags xxxxx -s"
in caso, un bel man make spiega l'uso di *-s* _________________ Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe
all my contents are released under the Creative Commons Licence by-nc-nd 2.5 |
|
Back to top |
|
|
n3m0 l33t
Joined: 08 Feb 2004 Posts: 798 Location: Richville, Naples, Italy, Europe
|
Posted: Sat Aug 14, 2004 6:00 pm Post subject: |
|
|
DarkAngel76 wrote: | per farlo è sufficiente aggiungere *-s* alle esistenti CFLAGS/CXXFLAGS |
Molto meglio aggiungerlo alla variabile MAKEOPTS (sempre in /etc/make.conf), che esiste proprio per opzioni agguntive di make.
In ogni caso, il silent (-s) durante il make non equivale strettamente a quanto suggerito da Panda.
Infatti gli ebuild producono anche altro output (a volte tanto a volte poco) che può non essere determinato dall' esecuzione di make.
Ne è un esempio quello riportato anche da Panda: l'emerge di sorgenti kernel.
O ancora, l'output delle fase di configure. _________________ Lenergia è la civiltà. Lasciarla in mano ai piromani/petrolieri è criminale. Perché aspettare che finisca il petrolio?
Letà della pietra non è mica finita per mancanza di pietre. - B.G.
Site/Blog: http://www.neminis.org |
|
Back to top |
|
|
Danilo l33t
Joined: 05 Feb 2004 Posts: 747 Location: Italy
|
Posted: Sat Aug 14, 2004 6:09 pm Post subject: |
|
|
Se invece si cambia terminale o si riduce a icona la finestra non si ha lo stesso risultato? |
|
Back to top |
|
|
!equilibrium Bodhisattva
Joined: 06 Jun 2004 Posts: 2109 Location: MI/BG/LC
|
Posted: Sat Aug 14, 2004 6:10 pm Post subject: |
|
|
n3m0 wrote: | Molto meglio aggiungerlo alla variabile MAKEOPTS (sempre in /etc/make.conf), che esiste proprio per opzioni agguntive di make. |
non so per quale motivo, ma a metter l'opzione silent in MAKEOPTS a me non funziona sempre, sembra che a volte venga ignorato mentre se lo metto in CFLAGS/CXXFLAGS funziona sempre...
n3m0 wrote: | In ogni caso, il silent (-s) durante il make non equivale strettamente a quanto suggerito da Panda.
Infatti gli ebuild producono anche altro output (a volte tanto a volte poco) che può non essere determinato dall' esecuzione di make. |
si questo è vero, non avevo considerato l'output di emerge _________________ Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe
all my contents are released under the Creative Commons Licence by-nc-nd 2.5 |
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
Posted: Sat Aug 14, 2004 10:48 pm Post subject: |
|
|
Grazie per il suggerimento. ho appena lanciato il bootstrap da stage1 e a seguire emerge -uDv world...
una cosa soltanto, non è sufficiente Code: | emerge nomepacchetto &> /dev/null |
Io ho lanciato così bootstrap e emerge e non ho ancora visto una sola riga di output
Complimenti per l'ottimo tip![/code] _________________ Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! |
|
Back to top |
|
|
FonderiaDigitale Veteran
Joined: 06 Nov 2003 Posts: 1710 Location: Rome, Italy
|
Posted: Sun Aug 15, 2004 1:11 am Post subject: |
|
|
non permetterei mai a emerge di mandare l'output a null, nel caso ci sia un problema che fate? andate a naso?
molto meglio redirigere verso un file. _________________ Come disse un amico, i sistemisti sono un po' come gli artigiani per l'informatica
|
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
|
Back to top |
|
|
FonderiaDigitale Veteran
Joined: 06 Nov 2003 Posts: 1710 Location: Rome, Italy
|
Posted: Sun Aug 15, 2004 1:50 am Post subject: |
|
|
emerge.log non e' abilitato per default. _________________ Come disse un amico, i sistemisti sono un po' come gli artigiani per l'informatica
|
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
Posted: Sun Aug 15, 2004 3:44 am Post subject: |
|
|
FonderiaDigitale wrote: | emerge.log non e' abilitato per default. | premesso che siamo tutti grandi, vaccinati e tendenzialmente immuni da flame-virus sei sicuro di questa tua ultima frase Negli ultimi giorni ho installato diverse volte gentoo e il file emerge.log c'era sempre, senza che io dovessi editare alcun file di config, e seguendo solo l'handbook. Inoltre non ho trovato dove lo si potrebbe disabilitare... _________________ Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! |
|
Back to top |
|
|
Danilo l33t
Joined: 05 Feb 2004 Posts: 747 Location: Italy
|
Posted: Sun Aug 15, 2004 8:15 am Post subject: |
|
|
Rifaccio la stessa domanda di prima se qualcuno puo' dirmi la sua :
Danilo wrote: | Se invece si cambia terminale o si riduce a icona la finestra non si ha lo stesso risultato? |
Di fatto un redirezionamento verso dev/null non evita che il make e l' emerge debbano gestire comunque gli streams (che poi vengono buttati dall'ambiente esterno).
E' pur vero che in questo modo i buffer dell'ambiente ospitante vengono riempiti ma IMHO quello che veramente fa perdere tempo le e' la visualizzazione a video o c'e' qualcosaltro che mi sfugge?
Dal punto di vista pratico:
Code: |
#include <iostream>
#include <string>
using namespace std;
int main ()
{
int i;
for (i=0; i< 100000; i++)
{
cout << "ciao: " << i << " volta" << endl;
}
cerr << "valore finale" << i << endl;
return 0;
}
|
Lo lancio da dentro la konsole kde.
Visualizzo lo stream standard
Code: |
rm -f a.out && g++ pippo.cpp&& time ./a.out
(...)
ciao: 99996 volta
ciao: 99997 volta
ciao: 99998 volta
ciao: 99999 volta
valore finale100000
real 0m43.429s
user 0m3.661s
sys 0m1.637s
|
con /dev/null
Code: | danilo@mymachine tmp $ rm -f a.out && g++ pippo.cpp&& time ./a.out >/dev/null
valore finale100000
real 0m1.492s
user 0m1.376s
sys 0m0.032s
|
spedendo verso un file
Code: |
danilo@mymachine tmp $ rm -f a.out && g++ pippo.cpp&& time ./a.out >pippo.txt
valore finale100000
real 0m2.879s
user 0m1.608s
sys 0m1.016s
|
modifico il cpp e rilancio con /dev/null
Code: |
using namespace std;
int main ()
{
int i;
for (i=0; i< 100000; i++)
{
// cout << "ciao: " << i << " volta" << endl;
}
cerr << "valore finale" << i << endl;
return 0;
}
:P:P:P
danilo@mymachine tmp $ rm -f a.out && g++ pippo.cpp&& time ./a.out >/dev/null
valore finale100000
real 0m0.011s
user 0m0.006s
sys 0m0.002s
|
Quindi quello che fa perdere molto tempo e' la visualizzazione, o c'e' qualcosaltro che mi sfugge?
--- EDIT ---
In effetti se cambio console comunque impiega il tempo di Code: | rm -f a.out && g++ pippo.cpp&& time ./a.out
|
Quindi l'unica soluzione e' Code: | rm -f a.out && g++ pippo.cpp&& time ./a.out >pippo.txt |
|
|
Back to top |
|
|
Cazzantonio Bodhisattva
Joined: 20 Mar 2004 Posts: 4514 Location: Somewere around the world
|
Posted: Sun Aug 15, 2004 8:21 am Post subject: |
|
|
la stessa cosa dovrebbe essere ottenuta anche con "nohup emerge", con il vantaggio che hai anche i log (nohup.out) e puoi anche fare logout senza problemi...
comunque, per curiosità, quanto tempo impiega a visualizzare un carattere sullo schermo? e a scriverlo su un file? _________________ Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne |
|
Back to top |
|
|
Danilo l33t
Joined: 05 Feb 2004 Posts: 747 Location: Italy
|
Posted: Sun Aug 15, 2004 8:29 am Post subject: |
|
|
Cazzantonio wrote: |
comunque, per curiosità, quanto tempo impiega a visualizzare un carattere sullo schermo? e a scriverlo su un file? |
Sopra il tuo post trovi tutto inoltre con : Code: | danilo@mymachine tmp $ rm -f a.out && g++ pippo.cpp&&time nohup ./a.out
nohup: appending output to `nohup.out'
real 0m2.760s
user 0m1.631s
sys 0m0.975s
danilo@mymachine tmp $ rm -f a.out && g++ pippo.cpp&& time ./a.out >pippo.txt
valore finale100000
real 0m2.835s
user 0m1.662s
sys 0m1.015s
|
|
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
Posted: Sun Aug 15, 2004 2:40 pm Post subject: |
|
|
Danilo wrote: | Code: | time ./a.out >pippo.txt
real 0m2.835s |
Code: | nohup: appending output to `nohup.out'
real 0m2.760s |
Code: | time ./a.out >/dev/null
real 0m1.492s |
| Sto nohup non lo conoscevo, grassie ragazzi.
Dunque riassumendo per i posteri, se si ha davvero fretta e si sa cosa si sta facendo: Code: | comando &> /dev/null | se si ha fretta ma si vuole avere un log _________________ Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! |
|
Back to top |
|
|
Danilo l33t
Joined: 05 Feb 2004 Posts: 747 Location: Italy
|
Posted: Sun Aug 15, 2004 4:00 pm Post subject: |
|
|
.:deadhead:. wrote: | se si ha fretta ma si vuole avere un log |
Aggiungerei un & per il background
Ad es. se si vuole chiudere il terminale corrente (es.: lanci una compilazione da remoto e poi decidi di sconnetterti)
Inoltre nohup redirige solo lo stream standard, a noi interessa anche lo stream error
Code: | nohup comando 2>&1 & |
|
|
Back to top |
|
|
Panda Apprentice
Joined: 31 Jul 2003 Posts: 223 Location: Cremona <=> Catania
|
Posted: Sun Aug 15, 2004 5:51 pm Post subject: |
|
|
che ne pensate di qualcosa del genere?
Code: | trinhackria panda # cat /usr/sbin/silentemerge
#! /bin/sh
source /etc/init.d/functions.sh
ebegin "Silent running emerge $@";
emerge $@ >/dev/null &>/dev/null
eend $? |
silentemerge prende gli stessi argomenti di un normale emerge, e comunque alla fine visualizza un ok verde o i !! rossi. |
|
Back to top |
|
|
FonderiaDigitale Veteran
Joined: 06 Nov 2003 Posts: 1710 Location: Rome, Italy
|
Posted: Sun Aug 15, 2004 9:58 pm Post subject: |
|
|
.:deadhead:. wrote: | FonderiaDigitale wrote: | emerge.log non e' abilitato per default. | premesso che siamo tutti grandi, vaccinati e tendenzialmente immuni da flame-virus sei sicuro di questa tua ultima frase Negli ultimi giorni ho installato diverse volte gentoo e il file emerge.log c'era sempre, senza che io dovessi editare alcun file di config, e seguendo solo l'handbook. Inoltre non ho trovato dove lo si potrebbe disabilitare... |
per quanto ne so io , se non si specifica deliberatamente PORTLOG_DIR non logga l'output/debug di portage.. che versione di portage e' quella a cui ti riferisci? _________________ Come disse un amico, i sistemisti sono un po' come gli artigiani per l'informatica
|
|
Back to top |
|
|
codadilupo Advocate
Joined: 05 Aug 2003 Posts: 3135
|
Posted: Sun Aug 15, 2004 10:25 pm Post subject: |
|
|
in effetti, devo confermare: non ho specificato PORTLOG_DIR, non ce n'e' uno di default in /etc/make.globals eppure /var/log/emerge.log ce l'ho dall'installazione..... tanto che genlop -l mi riporta tutti gl'emerge dati da aprile in qua...
Coda |
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
Posted: Sun Aug 15, 2004 10:26 pm Post subject: |
|
|
FonderiaDigitale wrote: | per quanto ne so io , se non si specifica deliberatamente PORTLOG_DIR non logga l'output/debug di portage.. che versione di portage e' quella a cui ti riferisci? |
Code: | * sys-apps/portage
Latest version available: 2.0.50-r9
Latest version installed: 2.0.50-r9
Size of downloaded files: [no/bad digest]
Homepage: http://www.gentoo.org
Description: Portage ports system
| inoltre Code: | root@INSPIRON8600 # echo $PORTLOG_DIR
| mi da come risultato il nulla... _________________ Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! |
|
Back to top |
|
|
FonderiaDigitale Veteran
Joined: 06 Nov 2003 Posts: 1710 Location: Rome, Italy
|
Posted: Sun Aug 15, 2004 11:15 pm Post subject: |
|
|
evidentemente e' cambiato qualcosa nella ultima versione
meglio cosi xche era assai fastidioso. _________________ Come disse un amico, i sistemisti sono un po' come gli artigiani per l'informatica
|
|
Back to top |
|
|
n3m0 l33t
Joined: 08 Feb 2004 Posts: 798 Location: Richville, Naples, Italy, Europe
|
Posted: Mon Aug 16, 2004 9:23 am Post subject: |
|
|
La mia esperienza riguardo il log di portage è questa:
senza PORTLOG_DIR:
- presenza del file /val/log/emerge.log
- assenza della dir /var/log/portage/ con tutti i log dettagliati
con PORTLOG_DIR:
- presenza del file /val/log/emerge.log
- presenza della dir /var/log/portage/ con tutti i log dettagliati _________________ Lenergia è la civiltà. Lasciarla in mano ai piromani/petrolieri è criminale. Perché aspettare che finisca il petrolio?
Letà della pietra non è mica finita per mancanza di pietre. - B.G.
Site/Blog: http://www.neminis.org |
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
Posted: Mon Aug 16, 2004 3:13 pm Post subject: |
|
|
n3m0 wrote: | La mia esperienza riguardo il log di portage è questa:
senza PORTLOG_DIR:
- presenza del file /val/log/emerge.log
- assenza della dir /var/log/portage/ con tutti i log dettagliati
con PORTLOG_DIR:
- presenza del file /val/log/emerge.log
- presenza della dir /var/log/portage/ con tutti i log dettagliati | Ah dunque la verità stava nel mezzo! Grazie per averci fugato ogni dubbio _________________ Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! |
|
Back to top |
|
|
Cagnulein l33t
Joined: 18 Sep 2003 Posts: 861 Location: Modena, Italy
|
Posted: Sun Oct 03, 2004 4:54 pm Post subject: |
|
|
possibile che a me l'opzione -s non conti nulla nè in MAKEOPTS nè nelle CFLAGS? |
|
Back to top |
|
|
|