1 |
rane 07/09/22 01:25:56 |
2 |
|
3 |
Modified: gcc-optimization.xml |
4 |
Log: |
5 |
-> 1.9 |
6 |
|
7 |
Revision Changes Path |
8 |
1.4 xml/htdocs/doc/pl/gcc-optimization.xml |
9 |
|
10 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/pl/gcc-optimization.xml?rev=1.4&view=markup |
11 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/pl/gcc-optimization.xml?rev=1.4&content-type=text/plain |
12 |
diff : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/pl/gcc-optimization.xml?r1=1.3&r2=1.4 |
13 |
|
14 |
Index: gcc-optimization.xml |
15 |
=================================================================== |
16 |
RCS file: /var/cvsroot/gentoo/xml/htdocs/doc/pl/gcc-optimization.xml,v |
17 |
retrieving revision 1.3 |
18 |
retrieving revision 1.4 |
19 |
diff -u -r1.3 -r1.4 |
20 |
--- gcc-optimization.xml 17 Aug 2007 12:54:22 -0000 1.3 |
21 |
+++ gcc-optimization.xml 22 Sep 2007 01:25:55 -0000 1.4 |
22 |
@@ -1,5 +1,5 @@ |
23 |
<?xml version='1.0' encoding='UTF-8'?> |
24 |
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/pl/gcc-optimization.xml,v 1.3 2007/08/17 12:54:22 shadoww Exp $ --> |
25 |
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/pl/gcc-optimization.xml,v 1.4 2007/09/22 01:25:55 rane Exp $ --> |
26 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
27 |
|
28 |
<guide link="/doc/pl/gcc-optimization.xml" lang="pl"> |
29 |
@@ -21,8 +21,8 @@ |
30 |
<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
31 |
<license/> |
32 |
|
33 |
-<version>1.4</version> |
34 |
-<date>2007-07-28</date> |
35 |
+<version>1.6</version> |
36 |
+<date>2007-08-12</date> |
37 |
|
38 |
<chapter> |
39 |
<title>Wstęp</title> |
40 |
@@ -170,7 +170,8 @@ |
41 |
<p> |
42 |
Nawet jeśli zmienna CHOST jest ustawiona w pliku <path>/etc/make.conf</path> i |
43 |
określa używaną architekturę, flaga <c>-march</c> powinna być użyta aby programy |
44 |
-mogły zostać zoptymalizowane dla konkretnego procesora. |
45 |
+mogły zostać zoptymalizowane dla konkretnego procesora. Architektury x86 i |
46 |
+x86-64 powinny używać flagi <c>-march</c>. |
47 |
</p> |
48 |
|
49 |
<p> |
50 |
@@ -202,26 +203,44 @@ |
51 |
</pre> |
52 |
|
53 |
<p> |
54 |
-Dostępne są również flagi <c>-mcpu</c> oraz <c>-mtune</c>. Jednak powinny zostać |
55 |
-one użyte tylko wtedy, gdy opcja <c>-march</c> nie jest dostępna. Jaka jest |
56 |
-między nimi różnica? <c>-march</c> dokładniej precyzuje jakie cechy powinny |
57 |
-zostać użyte podczas kompilacji kodu. <c>-mcpu</c> stworzy ogólny kod, mało |
58 |
-zoptymalizowany dla danego procesora. <c>-mtune</c> tworzy kod jeszcze bardziej |
59 |
-ogólny. Należy użyć <c>-march</c> zawsze kiedy jest dostępny. Dla architektur |
60 |
-takich jak PowerPC, Sparc lub Alpha musi zostać użyty <c>-mcpu</c>. |
61 |
+Dostępne są również flagi <c>-mtune</c> oraz <c>-mcpu</c>. Jednak powinny zostać |
62 |
+one użyte tylko wtedy, gdy opcja <c>-march</c> nie jest dostępna. Pewne |
63 |
+architektury procesorów mogą wymagać <c>-mtune</c> lub nawet <c>-mcpu</c>. |
64 |
+Niestety zachowanie <c>gcc</c> z użyciem tych flag nie jest identyczne na |
65 |
+wszystkich architekturach. |
66 |
+</p> |
67 |
+ |
68 |
+<p> |
69 |
+Na procesorach x86 i x86-64, <c>-march</c> tworzy kod specyficzny dla tych |
70 |
+architektur, używając wszystkich możliwych instrukcji i odpowiedniego ABI. Nie |
71 |
+będzie kompatybilne dla starszych procesorów. Jeśli nie zamierzamy uruchamiać |
72 |
+kodu na niczym innym jak nasz system, powinniśmy używać <c>-march</c>. Użycie |
73 |
+<c>-mtune</c> można rozważyć w przypadku kompilacji dla starszego typu procesora |
74 |
+takiego jak i386 lub i486. <c>-mtune</c> tworzy bardziej ogólny kod niż |
75 |
+<c>-march</c> lecz w dalszym ciągu odpowiedni dla pewnego procesora. Nie należy |
76 |
+używać <c>-mtune</c> na systemach x86 i x86-64. |
77 |
+</p> |
78 |
+ |
79 |
+<p> |
80 |
+Inne architektury niż x86/x86-64 (takie jak Sparc, Alpha lub PowerPC) mogą |
81 |
+wymagać użycia <c>-mtune</c> lub <c>-mcpu</c> zamiast <c>-march</c>. Na tych |
82 |
+architekturach <c>-mtune</c>/<c>-mcpu</c> może czasami zachowywać się jak |
83 |
+<c>-march</c> (na x86/x86-64) jedynie podając inną nazwę. Jeszcze raz: |
84 |
+zachowanie <c>gcc</c> nie jest identyczne na wszystkich architekturach, więc |
85 |
+należy sprawdzić stronę <uri |
86 |
+link="http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Submodel-Options.html#Submodel-Options">podręcznika</uri> |
87 |
+gcc aby dowiedzieć się którą opcję użyć dla posiadanego procesora. |
88 |
</p> |
89 |
|
90 |
<note> |
91 |
-Dla konkretniejszych ustawień <c>-march</c> należy przeczytać rozdział piąty |
92 |
-<uri link="/doc/pl/handbook/index.xml">Podręcznika instalacji Gentoo</uri> dla |
93 |
+Dla konkretniejszych ustawień <c>-march</c>/<c>-mtune</c>/<c>-mcpu</c> należy |
94 |
+przeczytać rozdział piąty <uri |
95 |
+link="/doc/pl/handbook/index.xml">Podręcznika instalacji Gentoo</uri> dla |
96 |
odpowiedniej architektury. Polecamy również przeczytać listę podręcznika |
97 |
<c>gcc</c> o <uri |
98 |
link="http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Submodel-Options.html#Submodel-Options">opcjach |
99 |
specyficznych dla danej architektury</uri> gdzie jest dokładnie wytłumaczona |
100 |
-różnica pomiędzy <c>-march</c>, <c>-mcpu</c> i <c>-mtune</c>. Jest to bardzo |
101 |
-pomocne przy precyzowaniu jakie opcje <c>-march</c> powinny zostać użyte. |
102 |
-Zwłaszcza, że na niektórych architekturach (takich jak x86) flaga <c>-mcpu</c> |
103 |
-jest przestarzała i powinno się użyć <c>-mtune</c> zamiast niej. |
104 |
+różnica pomiędzy <c>-march</c>, <c>-mcpu</c> i <c>-mtune</c>. |
105 |
</note> |
106 |
|
107 |
</body> |
108 |
@@ -244,7 +263,7 @@ |
109 |
<p> |
110 |
Z wyjątkiem <c>-O0</c>, każda następna opcja <c>-O</c> aktywuje kilka |
111 |
dodatkowych flag. O tym jakie flagi są aktywowane przy każdym poziomie <c>-O</c> |
112 |
-i co powodują, można sie dowiedzieć po przeczytaniu rozdziału o <uri |
113 |
+i co powodują, można się dowiedzieć po przeczytaniu rozdziału o <uri |
114 |
link="http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Optimize-Options.html#Optimize-Options">opcjach |
115 |
optymalizacji</uri> strony manuala gcc. |
116 |
</p> |
117 |
@@ -289,10 +308,11 @@ |
118 |
<li> |
119 |
<c>-Os</c>: Ten poziom będzie optymalizował kod pod względem wielkości. |
120 |
Aktywuje on wszystkie flagi z poziomu <c>-O2</c>, które nie biorą udziału w |
121 |
- zwiększeniu wygenerowanego kodu. Może to być przydatne dla maszyn, które mają |
122 |
- bardzo ograniczoną przestrzeń dyskową lub z procesorami o bardzo małej |
123 |
+ zwiększeniu wygenerowanego kodu. Może to być przydatne dla maszyn, które |
124 |
+ mają bardzo ograniczoną przestrzeń dyskową lub z procesorami o bardzo małej |
125 |
wielkości cache. Może jednak spowodować sporo problemów, ponieważ filtrowane |
126 |
- przez wiele ebuilów z drzewa Portage. Używanie <c>-Os</c> nie jest zalecane. |
127 |
+ przez wiele ebuildów z drzewa Portage. Używanie <c>-Os</c> nie jest |
128 |
+ zalecane. |
129 |
</li> |
130 |
</ul> |
131 |
|
132 |
@@ -337,9 +357,8 @@ |
133 |
jedynym językiem napiętnowanym przez tę flagę. Trzeba mieć na uwadze, że mimo |
134 |
tego, że flaga ogólnie pomaga, powoduje trudności podczas debugowania kodu; |
135 |
backtrace będzie bezużyteczne. Jeśli nie zamierzamy poddawać kodu operacjom |
136 |
-debugowania i nie mamy w zmiennej CFLAGS innych flag, takich jak <c>-ggdb</c> |
137 |
-(ani nie kompilujemy z włączoną flagą USE="debug"), warto dodać |
138 |
-<c>-fomit-frame-pointer</c>. |
139 |
+debugowania i nie mamy w zmiennej CFLAGS innych flag, takich jak <c>-ggdb</c>, |
140 |
+warto dodać <c>-fomit-frame-pointer</c>. |
141 |
</p> |
142 |
|
143 |
<impo> |
144 |
|
145 |
|
146 |
|
147 |
-- |
148 |
gentoo-commits@g.o mailing list |