Gentoo Archives: gentoo-commits

From: "Lukasz Damentko (rane)" <rane@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in xml/htdocs/doc/pl: gcc-optimization.xml
Date: Sat, 22 Sep 2007 01:51:30
Message-Id: E1IYtkq-0000Og-5n@stork.gentoo.org
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