Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[TIP] Velocizzare emerge (per impazienti)
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools)
View previous topic :: View next topic  
Author Message
Panda
Apprentice
Apprentice


Joined: 31 Jul 2003
Posts: 223
Location: Cremona <=> Catania

PostPosted: Sat Aug 14, 2004 5:09 pm    Post subject: [TIP] Velocizzare emerge (per impazienti) Reply with quote

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! 8O 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
View user's profile Send private message
!equilibrium
Bodhisattva
Bodhisattva


Joined: 06 Jun 2004
Posts: 2109
Location: MI/BG/LC

PostPosted: Sat Aug 14, 2004 5:51 pm    Post subject: Reply with quote

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
View user's profile Send private message
n3m0
l33t
l33t


Joined: 08 Feb 2004
Posts: 798
Location: Richville, Naples, Italy, Europe

PostPosted: Sat Aug 14, 2004 6:00 pm    Post subject: Reply with quote

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.
_________________
L’energia è la civiltà. Lasciarla in mano ai piromani/petrolieri è criminale. Perché aspettare che finisca il petrolio?
L’età della pietra non è mica finita per mancanza di pietre. - B.G.


Site/Blog: http://www.neminis.org
Back to top
View user's profile Send private message
Danilo
l33t
l33t


Joined: 05 Feb 2004
Posts: 747
Location: Italy

PostPosted: Sat Aug 14, 2004 6:09 pm    Post subject: Reply with quote

Se invece si cambia terminale o si riduce a icona la finestra non si ha lo stesso risultato?
Back to top
View user's profile Send private message
!equilibrium
Bodhisattva
Bodhisattva


Joined: 06 Jun 2004
Posts: 2109
Location: MI/BG/LC

PostPosted: Sat Aug 14, 2004 6:10 pm    Post subject: Reply with quote

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
View user's profile Send private message
.:deadhead:.
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 2963
Location: Milano, Italy

PostPosted: Sat Aug 14, 2004 10:48 pm    Post subject: Reply with quote

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 :D

Complimenti per l'ottimo tip![/code]
_________________
Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! ;)
Back to top
View user's profile Send private message
FonderiaDigitale
Veteran
Veteran


Joined: 06 Nov 2003
Posts: 1710
Location: Rome, Italy

PostPosted: Sun Aug 15, 2004 1:11 am    Post subject: Reply with quote

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
View user's profile Send private message
.:deadhead:.
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 2963
Location: Milano, Italy

PostPosted: Sun Aug 15, 2004 1:18 am    Post subject: Reply with quote

FonderiaDigitale wrote:
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.
Esiste emerge.log e comunque dipende...
_________________
Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! ;)
Back to top
View user's profile Send private message
FonderiaDigitale
Veteran
Veteran


Joined: 06 Nov 2003
Posts: 1710
Location: Rome, Italy

PostPosted: Sun Aug 15, 2004 1:50 am    Post subject: Reply with quote

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
View user's profile Send private message
.:deadhead:.
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 2963
Location: Milano, Italy

PostPosted: Sun Aug 15, 2004 3:44 am    Post subject: Reply with quote

FonderiaDigitale wrote:
emerge.log non e' abilitato per default.
:!: premesso che siamo tutti grandi, vaccinati e tendenzialmente immuni da flame-virus :wink: 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
View user's profile Send private message
Danilo
l33t
l33t


Joined: 05 Feb 2004
Posts: 747
Location: Italy

PostPosted: Sun Aug 15, 2004 8:15 am    Post subject: Reply with quote

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

8O

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

:P

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
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4514
Location: Somewere around the world

PostPosted: Sun Aug 15, 2004 8:21 am    Post subject: Reply with quote

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
View user's profile Send private message
Danilo
l33t
l33t


Joined: 05 Feb 2004
Posts: 747
Location: Italy

PostPosted: Sun Aug 15, 2004 8:29 am    Post subject: Reply with quote

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
View user's profile Send private message
.:deadhead:.
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 2963
Location: Milano, Italy

PostPosted: Sun Aug 15, 2004 2:40 pm    Post subject: Reply with quote

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. :wink:

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
Code:
nohup comando

_________________
Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! ;)
Back to top
View user's profile Send private message
Danilo
l33t
l33t


Joined: 05 Feb 2004
Posts: 747
Location: Italy

PostPosted: Sun Aug 15, 2004 4:00 pm    Post subject: Reply with quote

.:deadhead:. wrote:
se si ha fretta ma si vuole avere un log
Code:
nohup comando

Aggiungerei un & per il background
Code:
nohup comando &

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
View user's profile Send private message
Panda
Apprentice
Apprentice


Joined: 31 Jul 2003
Posts: 223
Location: Cremona <=> Catania

PostPosted: Sun Aug 15, 2004 5:51 pm    Post subject: Reply with quote

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
View user's profile Send private message
FonderiaDigitale
Veteran
Veteran


Joined: 06 Nov 2003
Posts: 1710
Location: Rome, Italy

PostPosted: Sun Aug 15, 2004 9:58 pm    Post subject: Reply with quote

.:deadhead:. wrote:
FonderiaDigitale wrote:
emerge.log non e' abilitato per default.
:!: premesso che siamo tutti grandi, vaccinati e tendenzialmente immuni da flame-virus :wink: 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
View user's profile Send private message
codadilupo
Advocate
Advocate


Joined: 05 Aug 2003
Posts: 3135

PostPosted: Sun Aug 15, 2004 10:25 pm    Post subject: Reply with quote

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
View user's profile Send private message
.:deadhead:.
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 2963
Location: Milano, Italy

PostPosted: Sun Aug 15, 2004 10:26 pm    Post subject: Reply with quote

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
View user's profile Send private message
FonderiaDigitale
Veteran
Veteran


Joined: 06 Nov 2003
Posts: 1710
Location: Rome, Italy

PostPosted: Sun Aug 15, 2004 11:15 pm    Post subject: Reply with quote

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
View user's profile Send private message
n3m0
l33t
l33t


Joined: 08 Feb 2004
Posts: 798
Location: Richville, Naples, Italy, Europe

PostPosted: Mon Aug 16, 2004 9:23 am    Post subject: Reply with quote

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
_________________
L’energia è la civiltà. Lasciarla in mano ai piromani/petrolieri è criminale. Perché aspettare che finisca il petrolio?
L’età della pietra non è mica finita per mancanza di pietre. - B.G.


Site/Blog: http://www.neminis.org
Back to top
View user's profile Send private message
.:deadhead:.
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 2963
Location: Milano, Italy

PostPosted: Mon Aug 16, 2004 3:13 pm    Post subject: Reply with quote

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 :wink: dunque la verità stava nel mezzo! Grazie per averci fugato ogni dubbio 8)
_________________
Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! ;)
Back to top
View user's profile Send private message
Cagnulein
l33t
l33t


Joined: 18 Sep 2003
Posts: 861
Location: Modena, Italy

PostPosted: Sun Oct 03, 2004 4:54 pm    Post subject: Reply with quote

possibile che a me l'opzione -s non conti nulla nè in MAKEOPTS nè nelle CFLAGS?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum