1 |
On 6/24/07, Raphael MD <raphamejias@×××××××××.br> wrote: |
2 |
> Meu entendimento sobre o ccache foi que ele vai compilando e guardando os pedaços, para numa |
3 |
> compilação futura ele use esses "pedaços" a agilize a tarefas, só compilando o que mudou! |
4 |
> Mais se eu posso continuar no outro dia eu ainda naum li, tenho q procurar mais. |
5 |
|
6 |
O ccache é independente do portage, por exemplo, eu programo em C e |
7 |
toda vez que eu compilo alguma coisa, está usando o ccache. |
8 |
|
9 |
O que o ccache faz é manter um cache de arquivos objetos compilados, |
10 |
ou seja, se vc tentar recompilar um arquivo que já foi compilado antes |
11 |
no sistema, com as mesmas opções, o ccache utilizará a versão do cache |
12 |
ao invés de recompilar o arquivo. |
13 |
|
14 |
Na compilação de um programa, são compilados vários arquivos. O que |
15 |
acontece na prática é que quando vc atualiza um programa por exemplo, |
16 |
muitos dos arquivos do programa podem não ter mudado, nesse caso, ele |
17 |
usa a versão do cache ao invés de recompilar todos os arquivos |
18 |
novamente. É aí que o portage ganha velocidade quando está com a |
19 |
feature ccache ativada. |
20 |
|
21 |
Como deve ter ficado claro acima, o ccache não tem nada a ver com o |
22 |
portage, mas o portage pode usar o ccache. Logo, o ccache não tem nada |
23 |
a ver com continuar um emerge interrompido. Isso é função do portage, |
24 |
e para isso, o emerge tem uma opção muito interessante: --resume. |
25 |
|
26 |
# emerge --help | grep -e '^ *--resume' -A 4 |
27 |
--resume |
28 |
Resumes the last merge operation. It can be treated just like a |
29 |
regular emerge: --pretend and other options work alongside it. |
30 |
'emerge --resume' only returns an error on failure. When there is |
31 |
nothing to do, it exits with a message and a success condition. |
32 |
|
33 |
# man emerge |
34 |
|
35 |
|
36 |
> Sobre o distcc, meu entendimento foi que eu preciso de achar um servidor de distcc, mais nada |
37 |
> impede que ele esteja na mimnha casa, mais não meu preucupei muito com ele, pois ja estou ficando |
38 |
> todo enrrolado só com a instalação normal, mais parece ser algo interessante! |
39 |
|
40 |
Acho difícil vc achar assim, na internet, alguém disposto a emprestar |
41 |
seu precioso hardware e ciclos de cpu pra vc ficar compilando seu |
42 |
gentoo. Além do mais, aí entram outros problemas, a arquitetura tem |
43 |
que ser igual, se não, vc tem que usar crosscompiling, etc, etc. |
44 |
|
45 |
Um conselho, esqueça distcc por enquanto. Se vc tiver máquinas |
46 |
sobrando aí, que vc possa instalar gentoo, DEPOIS que vc tiver um |
47 |
sistema funcionando, ALGUMAS instalações de gentoo funcionais, tiver |
48 |
entendido razoavelmente como o sistema funciona, daí recomendo vc a |
49 |
brincar com o distcc. |
50 |
|
51 |
> vc ja compilou algo |
52 |
> grande com ele? melhorou muito o tempo? |
53 |
|
54 |
Minha primeira experiência foi em casa, depois que eu comprei um |
55 |
notebook de 64bits dual core. Tinha um desktop com gentoo tudo em |
56 |
32bits. Deixei um servidor de distcc nos dois, e tudo que eu |
57 |
compilasse em qualquer um dos dois, usava o outro pra ajudar. Pra eles |
58 |
conversarem tive que fazer um esquema de crosscompiling, ou seja, cada |
59 |
computador tinha que saber compilar pra sua arquitetura E para a do |
60 |
outro, ou seja, os dois tinha que saber compilar pra x86 e pra amd64 |
61 |
(também chamado de x86-64). |
62 |
|
63 |
Quando compilava no desktop, a maior parte da compilação ia pro |
64 |
notebook, que tinha dois cores bem mais rápidos que o do desktop, |
65 |
então resultava num tempo de compilação menor que a metade! |
66 |
|
67 |
Já no notebook melhorava um pouco só com a ajuda do pc, fica uns |
68 |
20~30% mais rápido só. |
69 |
|
70 |
Já outra experiência foi com 3 servidores de 64bits dual cores. Os |
71 |
três com gentoo amd64. Em geral tinha uma melhora de cerca de 60% do |
72 |
tempo do que cada uma levava sozinha pra compilar o mesmo pacote. |
73 |
|
74 |
Além disso, por as máquinas serem iguais, eu compartilhei um |
75 |
repositório de pacotes binários. Assim, se tinha algum programa que eu |
76 |
precisava em todas as máquinas, eu instalava em uma só, e nessa |
77 |
instalação ele distribuia a compilação entre as 3 máquinas com o |
78 |
distcc, e no final gerava um pacote binário do programa. Depois eu |
79 |
instalava nas outras duas a partir do binário, o que não demora mais |
80 |
que alguns segundos. |
81 |
|
82 |
> Sobre o tamanho do emerge openoffice-bin, são 1,129,559KB +- 1,07GB, ja a versão normal da 269MB, |
83 |
> pelo menos é o que aparece aqui! |
84 |
|
85 |
app-office/openoffice-2.1.0 |
86 |
196,690 kB |
87 |
|
88 |
app-office/openoffice-bin-2.1.0 |
89 |
139,772 kB |
90 |
|
91 |
O bin é MENOR que o que o source, aproximadamente 140mb contra 197mb. |
92 |
Da onde que vc tirou essa de mais de um giga??? |
93 |
|
94 |
|
95 |
> Mais fiquei com uma duvida sobre o openoffice-bin? ja que ele vem compilado, |
96 |
> e as flags? ele ja vem com tudo, o mozilla thunderbird e tudo mais junto? |
97 |
|
98 |
Openoffice não tem nada a ver com firefox, nem com thunderbird. São 3 |
99 |
pacotes totalmente diferentes. |
100 |
|
101 |
# eix openoffice -c |
102 |
[N] app-office/openoffice (~2.0.4 ~2.1.0): OpenOffice.org, a full |
103 |
office productivity suite. |
104 |
[N] app-office/openoffice-bin (2.1.0): OpenOffice productivity suite |
105 |
Found 2 matches. |
106 |
|
107 |
# eix firefox -c |
108 |
[N] www-client/mozilla-firefox (2.0.0.2): Firefox Web Browser |
109 |
[N] www-client/mozilla-firefox-bin (2.0.0.2): Firefox Web Browser |
110 |
Found 2 matches. |
111 |
|
112 |
# eix thunderbird -c |
113 |
[N] mail-client/mozilla-thunderbird (1.5.0.10): Thunderbird Mail Client |
114 |
[N] mail-client/mozilla-thunderbird-bin (1.5.0.10): The Mozilla |
115 |
Thunderbird Mail & News Reader |
116 |
Found 2 matches. |
117 |
|
118 |
Como vc pode ver, a única coisa em comum entre os 3, é que o 3 tem uma |
119 |
versão em sources para ser compilada e um versão binária |
120 |
pré-compilada. |
121 |
|
122 |
-- |
123 |
Fabiano. |
124 |
-- |
125 |
gentoo-user-br@g.o mailing list |