diff options
Diffstat (limited to 'doc/gettext/ru/gcc-optimization.xml.po')
-rw-r--r-- | doc/gettext/ru/gcc-optimization.xml.po | 725 |
1 files changed, 725 insertions, 0 deletions
diff --git a/doc/gettext/ru/gcc-optimization.xml.po b/doc/gettext/ru/gcc-optimization.xml.po new file mode 100644 index 0000000..0daebc0 --- /dev/null +++ b/doc/gettext/ru/gcc-optimization.xml.po @@ -0,0 +1,725 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2010-10-21 23:56+0600\n" +"PO-Revision-Date: 2010-10-21 23:46+0600\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):6 +msgid "Compilation Optimization Guide" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(author:title):8 +msgid "Author" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(mail:link):9 +msgid "nightmorph" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(abstract):12 +msgid "" +"This guide provides an introduction to optimizing compiled code using safe, " +"sane CFLAGS and CXXFLAGS. It also as describes the theory behind optimizing " +"in general." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(version):22 +msgid "2" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(date):23 +msgid "2010-07-26" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):26 +msgid "Introduction" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):28 +msgid "What are CFLAGS and CXXFLAGS?" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):31 +msgid "" +"CFLAGS and CXXFLAGS are environment variables that are used to tell the GNU " +"Compiler Collection, <c>gcc</c>, what kinds of switches to use when " +"compiling source code. CFLAGS are for code written in C, while CXXFLAGS are " +"for code written in C++." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):38 +msgid "" +"They can be used to decrease the amount of debug messages for a program, " +"increase error warning levels, and, of course, to optimize the code " +"produced. The <uri link=\"http://gcc.gnu.org/onlinedocs/gcc-4.4.4/gcc/" +"Invoking-GCC.html#Invoking-GCC\">GNU gcc handbook</uri> maintains a complete " +"list of available options and their purposes." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):50 +msgid "How are they used?" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):53 +msgid "" +"CFLAGS and CXXFLAGS can be used in two ways. First, they can be used per-" +"program with Makefiles generated by automake." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):58 +msgid "" +"However, this should not be done when installing packages found in the " +"Portage tree. Instead, set your CFLAGS and CXXFLAGS in <path>/etc/make.conf</" +"path>. This way all packages will be compiled using the options you specify." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(pre:caption):64 +msgid "CFLAGS in /etc/make.conf" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(pre):64 +#, no-wrap +msgid "" +"\n" +"CFLAGS=\"-march=athlon64 -O2 -pipe\"\n" +"CXXFLAGS=\"${CFLAGS}\"\n" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):69 +msgid "" +"As you can see, CXXFLAGS is set to use all the options present in CFLAGS. " +"This is what you'll want almost without fail. You shouldn't ever need to " +"specify additional options in CXXFLAGS." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):78 +msgid "Misconceptions" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):81 +msgid "" +"While CFLAGS and CXXFLAGS can be very effective means of getting source code " +"to produce smaller and/or faster binaries, they can also impair the function " +"of your code, bloat its size, slow down its execution time, or even cause " +"compilation failures!" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):88 +msgid "" +"CFLAGS are not a magic bullet; they will not automatically make your system " +"run any faster or your binaries to take up less space on disk. Adding more " +"and more flags in an attempt to optimize (or \"rice\") your system is a sure " +"recipe for failure. There is a point at which you will reach diminishing " +"returns." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):95 +msgid "" +"Despite the bragging you'll find on the internet, aggressive CFLAGS and " +"CXXFLAGS are far more likely to harm your programs than do them any good. " +"Keep in mind that the reason the flags exist in the first place is because " +"they are designed to be used at specific places for specific purposes. Just " +"because one particular CFLAG is good for one bit of code doesn't mean that " +"it is suited to compiling everything you will ever install on your machine!" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):107 +msgid "Ready?" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):110 +msgid "" +"Now that you're aware of some of the risks involved, let's take a look at " +"some sane, safe optimizations for your computer. These will hold you in good " +"stead and will endear you to developers the next time you report a problem " +"on <uri link=\"http://bugs.gentoo.org\">Bugzilla</uri>. (Developers will " +"usually request that you recompile a package with minimal CFLAGS to see if " +"the problem persists. Remember, aggressive flags can ruin code.)" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):124 +msgid "Optimizing" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):126 +msgid "The basics" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):129 +msgid "" +"The goal behind using CFLAGS and CXXFLAGS is to create code tailor-made to " +"your system; it should function perfectly while being lean and fast, if " +"possible. Sometimes these conditions are mutually exclusive, so we'll stick " +"with combinations known to work well. Ideally, they are the best available " +"for any CPU architecture. We'll mention the aggressive flags later so you " +"know what to look out for. We won't discuss every option listed on the " +"<c>gcc</c> manual (there are hundreds), but we'll cover the basic, most " +"common flags." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(note):139 +msgid "" +"Whenever you're not sure what a flag actually does, refer to the relevant " +"chapter of the <uri link=\"http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/" +"Optimize-Options.html#Optimize-Options\">gcc manual</uri>. If you're still " +"stumped, try Google, or check out the <c>gcc</c><uri link=\"http://gcc.gnu." +"org/lists.html\">mailing lists</uri>." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):150 +msgid "-march" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):153 +msgid "" +"The first and most important option is <c>-march</c>. This tells the " +"compiler what code it should produce for your processor <uri link=\"http://" +"en.wikipedia.org/wiki/Microarchitecture\">architecture</uri> (or <e>arch</" +"e>); it says that it should produce code for a certain kind of CPU. " +"Different CPUs have different capabilities, support different instruction " +"sets, and have different ways of executing code. The <c>-march</c> flag will " +"instruct the compiler to produce code specifically for your CPU, with all " +"its capabilities, features, instruction sets, quirks, and so on." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):164 +msgid "" +"Even though the CHOST variable in <path>/etc/make.conf</path> specifies the " +"general architecture used, <c>-march</c> should still be used so that " +"programs can be optimized for your specific processor. x86 and x86-64 CPUs " +"(among others) should make use of the <c>-march</c> flag." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):171 +msgid "What kind of CPU do you have? To find out, run the following command:" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(pre:caption):175 +msgid "Examining CPU information" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(pre):175 +#, no-wrap +msgid "" +"\n" +"$ <i>cat /proc/cpuinfo</i>\n" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):179 +msgid "" +"Now let's see <c>-march</c> in action. This example is for an older Pentium " +"III chip:" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(pre:caption):184 +msgid "/etc/make.conf: Pentium III" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(pre):184 +#, no-wrap +msgid "" +"\n" +"CFLAGS=\"-march=pentium3\"\n" +"CXXFLAGS=\"${CFLAGS}\"\n" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):189 +msgid "Here's another one for a 64-bit AMD CPU:" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(pre:caption):193 +msgid "/etc/make.conf: AMD64" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(pre):193 +#, no-wrap +msgid "" +"\n" +"CFLAGS=\"-march=athlon64\"\n" +"CXXFLAGS=\"${CFLAGS}\"\n" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):198 +msgid "" +"If you still aren't sure what kind of CPU you have, you may just want to use " +"<c>-march=native</c>. When this flag is used, GCC will detect your processor " +"and automatically set appropriate flags for it. <brite>However, this should " +"not be used if you intend to compile packages for a different CPU!</brite>" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):205 +msgid "" +"So if you're compiling packages on one computer, but intend to run them on a " +"different computer (such as when using a fast computer to build for an " +"older, slower machine), then <e>do not</e> use <c>-march=native</c>. \"Native" +"\" means that the code produced will run <e>only</e> on that type of CPU. " +"The applications built with <c>-march=native</c> on an AMD Athlon 64 CPU " +"will not be able to run on an old VIA C3 CPU." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):214 +msgid "" +"Also available are the <c>-mtune</c> and <c>-mcpu</c> flags. These flags are " +"normally only used when there is no available <c>-march</c> option; certain " +"processor architectures may require <c>-mtune</c> or even <c>-mcpu</c>. " +"Unfortunately, <c>gcc</c>'s behavior isn't very consistent with how each " +"flag behaves from one architecture to the next." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):222 +msgid "" +"On x86 and x86-64 CPUs, <c>-march</c> will generate code specifically for " +"that CPU using all its available instruction sets and the correct ABI; it " +"will have no backwards compatibility for older/different CPUs. If you don't " +"need to execute code on anything other than the system you're running Gentoo " +"on, continue to use <c>-march</c>. You should only consider using <c>-mtune</" +"c> when you need to generate code for older CPUs such as i386 and i486. <c>-" +"mtune</c> produces more generic code than <c>-march</c>; though it will tune " +"code for a certain CPU, it doesn't take into account available instruction " +"sets and ABI. Don't use <c>-mcpu</c> on x86 or x86-64 systems, as it is " +"deprecated for those arches." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):235 +msgid "" +"Only non-x86/x86-64 CPUs (such as Sparc, Alpha, and PowerPC) may require <c>-" +"mtune</c> or <c>-mcpu</c> instead of <c>-march</c>. On these architectures, " +"<c>-mtune</c>/<c>-mcpu</c> will sometimes behave just like <c>-march</c> (on " +"x86/x86-64) . . . but with a different flag name. Again, <c>gcc</c>'s " +"behavior and flag naming just isn't consistent across architectures, so be " +"sure to check the <c>gcc</c><uri link=\"http://gcc.gnu.org/onlinedocs/" +"gcc-4.4.4/gcc/Submodel-Options.html#Submodel-Options\">manual</uri> to " +"determine which one you should use for your system." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(note):246 +msgid "" +"For more suggested <c>-march</c>/<c>-mtune</c>/<c>-mcpu</c> settings, please " +"read chapter 5 of the appropriate <uri link=\"/doc/en/handbook/\">Gentoo " +"Installation Handbook</uri> for your arch. Also, read the <c>gcc</c> " +"manual's list of <uri link=\"http://gcc.gnu.org/onlinedocs/gcc-4.4.4/gcc/" +"Submodel-Options.html#Submodel-Options\">architecture-specific options</" +"uri>, as well as more detailed explanations about the differences between " +"<c>-march</c>, <c>-mcpu</c>, and <c>-mtune</c>." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):259 +msgid "-O" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):262 +msgid "" +"Next up is the <c>-O</c> variable. This controls the overall level of " +"optimization. This makes the code compilation take somewhat more time, and " +"can take up much more memory, especially as you increase the level of " +"optimization." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):268 +msgid "" +"There are five <c>-O</c> settings: <c>-O0</c>, <c>-O1</c>, <c>-O2</c>, <c>-" +"O3</c>, and <c>-Os</c>. You should use only one of them in <path>/etc/make." +"conf</path>." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):274 +msgid "" +"With the exception of <c>-O0</c>, the <c>-O</c> settings each activate " +"several additional flags, so be sure to read the gcc manual's chapter on " +"<uri link=\"http://gcc.gnu.org/onlinedocs/gcc-4.4.4/gcc/Optimize-Options." +"html#Optimize-Options\">optimization options</uri> to learn which flags are " +"activated at each <c>-O</c> level, as well as some explanations as to what " +"they do." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):282 +msgid "Let's examine each optimization level:" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(li):287 +msgid "" +"<c>-O0</c>: This level (that's the letter \"O\" followed by a zero) turns " +"off optimization entirely and is the default if no <c>-O</c> level is " +"specified in CFLAGS or CXXFLAGS. Your code will not be optimized; it's not " +"normally desired." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(li):293 +msgid "" +"<c>-O1</c>: This is the most basic optimization level. The compiler will try " +"to produce faster, smaller code without taking much compilation time. It's " +"pretty basic, but it should get the job done all the time." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(li):298 +msgid "" +"<c>-O2</c>: A step up from <c>-O1</c>. This is the <e>recommended</e> level " +"of optimization unless you have special needs. <c>-O2</c> will activate a " +"few more flags in addition to the ones activated by <c>-O1</c>. With <c>-O2</" +"c>, the compiler will attempt to increase code performance without " +"compromising on size, and without taking too much compilation time." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(li):305 +msgid "" +"<c>-O3</c>: This is the highest level of optimization possible, and also the " +"riskiest. It will take a longer time to compile your code with this option, " +"and in fact it <e>should not be used system-wide with <c>gcc</c> 4.x</e>. " +"The behavior of <c>gcc</c> has changed significantly since version 3.x. In 3." +"x, <c>-O3</c> has been shown to lead to marginally faster execution times " +"over <c>-O2</c>, but this is no longer the case with <c>gcc</c> 4.x. " +"Compiling all your packages with <c>-O3</c><e>will</e> result in larger " +"binaries that require more memory, and will significantly increase the odds " +"of compilation failure or unexpected program behavior (including errors). " +"The downsides outweigh the benefits; remember the principle of diminishing " +"returns. <b>Using <c>-O3</c> is not recommended for <c>gcc</c> 4.x.</b>" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(li):318 +msgid "" +"<c>-Os</c>: This level will optimize your code for size. It activates all " +"<c>-O2</c> options that don't increase the size of the generated code. It " +"can be useful for machines that have extremely limited disk storage space " +"and/or have CPUs with small cache sizes. However, it can cause quite a few " +"problems, which is why it is filtered out by many of the ebuilds in the " +"tree. Using <c>-Os</c> is not recommended." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):328 +msgid "" +"As previously mentioned, <c>-O2</c> is the recommended optimization level. " +"If package compilations error out, check to make sure that you aren't using " +"<c>-O3</c>. As a fallback option, try setting your CFLAGS and CXXFLAGS to a " +"lower optimization level, such as <c>-O1</c> or even <c>-O0 -g2 -ggdb</c> " +"(for error reporting and checking for possible problems) and recompile the " +"package." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):339 +msgid "-pipe" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):342 +msgid "" +"A common flag is <c>-pipe</c>. This flag actually has no effect on the " +"generated code, but it makes the compilation process faster. It tells the " +"compiler to use pipes instead of temporary files during the different stages " +"of compilation, which uses more memory. On systems with low memory, gcc " +"might get killed. In that case, do not use this flag." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):353 +msgid "-fomit-frame-pointer" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):356 +msgid "" +"This is a very common flag designed to reduce generated code size. It is " +"turned on at all levels of <c>-O</c> (except <c>-O0</c>) on architectures " +"where doing so does not interfere with debugging (such as x86-64), but you " +"may need to activate it yourself by adding it to your flags. Though the GNU " +"<c>gcc</c> manual does not specify all architectures it is turned on by " +"using <c>-O</c>, you will need to explicitly activate it on x86. However, " +"using this flag will make debugging hard to impossible." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):366 +msgid "" +"In particular, it makes troubleshooting applications written in Java much " +"harder, though Java is not the only code affected by using this flag. So " +"while the flag can help, it also makes debugging harder; backtraces in " +"particular will be useless. However, if you don't plan to do much software " +"debugging and haven't added any other debugging-related CFLAGS such as <c>-" +"ggdb</c>, then you can try using <c>-fomit-frame-pointer</c>." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(impo):375 +msgid "" +"Do <e>not</e> combine <c>-fomit-frame-pointer</c> with the similar flag <c>-" +"momit-leaf-frame-pointer</c>. Using the latter flag is discouraged, as <c>-" +"fomit-frame-pointer</c> already does the job properly. Furthermore, <c>-" +"momit-leaf-frame-pointer</c> has been shown to negatively impact code " +"performance." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):390 +msgid "-msse, -msse2, -msse3, -mmmx, -m3dnow" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):393 +msgid "" +"These flags enable the <uri link=\"http://en.wikipedia.org/wiki/" +"Streaming_SIMD_Extensions\">SSE</uri>, <uri link=\"http://en.wikipedia.org/" +"wiki/SSE2\">SSE2</uri>, <uri link=\"http://en.wikipedia.org/wiki/" +"SSSE3\">SSE3</uri>, <uri link=\"http://en.wikipedia.org/wiki/MMX\">MMX</" +"uri>, and <uri link=\"http://en.wikipedia.org/wiki/3dnow\">3DNow!</uri> " +"instruction sets for x86 and x86-64 architectures. These are useful " +"primarily in multimedia, gaming, and other floating point-intensive " +"computing tasks, though they also contain several other mathematical " +"enhancements. These instruction sets are found in more modern CPUs." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(impo):406 +msgid "" +"Be sure to check if your CPU supports these by running <c>cat /proc/cpuinfo</" +"c>. The output will include any supported additional instruction sets. Note " +"that <b>pni</b> is just a different name for SSE3." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):412 +msgid "" +"You normally don't need to add any of these flags to <path>/etc/make.conf</" +"path> as long as you are using the correct <c>-march</c> (for example, <c>-" +"march=nocona</c> implies <c>-msse3</c>). Some notable exceptions are newer " +"VIA and AMD64 CPUs that support instructions not implied by <c>-march</c> " +"(such as SSE3). For CPUs like these you'll need to enable additional flags " +"where appropriate after checking the output of <c>cat /proc/cpuinfo</c>." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(note):421 +msgid "" +"You should check the <uri link=\"http://gcc.gnu.org/onlinedocs/gcc-4.4.4/gcc/" +"i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options\">list</uri> of " +"x86 and x86-64-specific flags to see which of these instruction sets are " +"activated by the proper CPU type flag. If an instruction is listed, then you " +"don't need to specify it; it will be turned on by using the proper <c>-" +"march</c> setting." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):435 +msgid "Optimization FAQs" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):437 +msgid "But I get better performance with -funroll-loops -fomg-optimize!" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):440 +msgid "" +"No, you only <e>think</e> you do because someone has convinced you that more " +"flags are better. Aggressive flags will only hurt your applications when " +"used system-wide. Even the <c>gcc</c><uri link=\"http://gcc.gnu.org/" +"onlinedocs/gcc-4.4.4/gcc/Optimize-Options.html#Optimize-Options\">manual</" +"uri> says that using <c>-funroll-loops</c> and <c>-funroll-all-loops</c> " +"makes code larger and run more slowly. Yet for some reason, these two flags, " +"along with <c>-ffast-math</c>, <c>-fforce-mem</c>, <c>-fforce-addr</c>, and " +"similar flags, continue to be very popular among ricers who want the biggest " +"bragging rights." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):451 +msgid "" +"The truth of the matter is that they are dangerously aggressive flags. Take " +"a good look around the <uri link=\"http://forums.gentoo.org\">Gentoo Forums</" +"uri> and <uri link=\"http://bugs.gentoo.org\">Bugzilla</uri> to see what " +"those flags do: nothing good!" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):458 +msgid "" +"You don't need to use those flags globally in CFLAGS or CXXFLAGS. They will " +"only hurt performance. They may make you sound like you have a high-" +"performance system running on the bleeding edge, but they don't do anything " +"but bloat your code and get your bugs marked INVALID or WONTFIX." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):465 +msgid "" +"You don't need dangerous flags like these. <b>Don't use them</b>. Stick to " +"the basics: <c>-march</c>, <c>-O</c>, and <c>-pipe</c>." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):473 +msgid "What about -O levels higher than 3?" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):476 +msgid "" +"Some users boast about even better performance obtained by using <c>-O4</c>, " +"<c>-O9</c>, and so on, but the reality is that <c>-O</c> levels higher than " +"3 have no effect. The compiler may accept CFLAGS like <c>-O4</c>, but it " +"actually doesn't do anything with them. It only performs the optimizations " +"for <c>-O3</c>, nothing more." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):484 +msgid "" +"Need more proof? Examine the <c>gcc</c><uri link=\"http://gcc.gnu.org/" +"viewcvs/trunk/gcc/opts.c?revision=124622&view=markup\">source code</uri>:" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(pre:caption):490 +msgid "-O source code" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(pre):490 +#, no-wrap +msgid "" +"\n" +"if (optimize >= 3)\n" +" {\n" +" flag_inline_functions = 1;\n" +" flag_unswitch_loops = 1;\n" +" flag_gcse_after_reload = 1;\n" +" /* Allow even more virtual operators. */\n" +" set_param_value (\"max-aliased-vops\", 1000);\n" +" set_param_value (\"avg-aliased-vops\", 3);\n" +" }\n" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):502 +msgid "As you can see, any value higher than 3 is treated as just <c>-O3</c>." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):509 +msgid "What about redundant flags?" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):512 +msgid "" +"Oftentimes CFLAGS and CXXFLAGS that are turned on at various <c>-O</c> " +"levels are specified redundantly in <path>/etc/make.conf</path>. Sometimes " +"this is done out of ignorance, but it is also done to avoid flag filtering " +"or flag replacing." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):518 +msgid "" +"Flag filtering/replacing is done in many of the ebuilds in the Portage tree. " +"It is usually done because packages fail to compile at certain <c>-O</c> " +"levels, or when the source code is too sensitive for any additional flags to " +"be used. The ebuild will either filter out some or all CFLAGS and CXXFLAGS, " +"or it may replace <c>-O</c> with a different level." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):526 +msgid "" +"The <uri link=\"http://devmanual.gentoo.org/ebuild-writing/functions/" +"src_compile/build-environment/index.html\">Gentoo Developer Manual</uri> " +"outlines where and how flag filtering/replacing works." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):532 +msgid "" +"It's possible to circumvent <c>-O</c> filtering by redundantly listing the " +"flags for a certain level, such as <c>-O3</c>, by doing things like:" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(pre:caption):537 +msgid "Specifying redundant CFLAGS" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(pre):537 +#, no-wrap +msgid "" +"\n" +"CFLAGS=\"-O3 -finline-functions -funswitch-loops\"\n" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):541 +msgid "" +"However, <brite>this is not a smart thing to do</brite>. CFLAGS are filtered " +"for a reason! When flags are filtered, it means that it is unsafe to build a " +"package with those flags. Clearly, it is <e>not</e> safe to compile your " +"whole system with <c>-O3</c> if some of the flags turned on by that level " +"will cause problems with certain packages. Therefore, you shouldn't try to " +"\"outsmart\" the developers who maintain those packages. <e>Trust the " +"developers</e>. Flag filtering and replacing is done for your benefit! If an " +"ebuild specifies alternative flags, then don't try to get around it." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):552 +msgid "" +"You will most likely continue to run into problems when you build a package " +"with unacceptable flags. When you report your troubles on Bugzilla, the " +"flags you use in <path>/etc/make.conf</path> will be readily visible and you " +"will be told to recompile without those flags. Save yourself the trouble of " +"recompiling by not using redundant flags in the first place! Don't just " +"automatically assume that you know better than the developers." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):564 +msgid "What about LDFLAGS?" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):567 +msgid "" +"The Gentoo developers have already set basic, safe LDFLAGS in the base " +"profiles, so you don't need to change them." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):575 +msgid "Can I use per-package flags?" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):578 +msgid "" +"There is no supported method for using CFLAGS or other variables on a per-" +"package basis, though there are a few <uri link=\"http://forums.gentoo.org/" +"viewtopic-p-3832057.html#3832057\">rather abusive</uri> ways of trying force " +"Portage to do so." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(warn):585 +msgid "" +"You <e>should not</e> try to force Portage to use per-package flags, as it " +"is not in any way supported and will greatly complicate bug reports. Just " +"set your flags in <path>/etc/make.conf</path> to be used on a system-wide " +"basis." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(title):596 +msgid "Resources" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(p):600 +msgid "" +"The following resources are of some help in further understanding " +"optimization:" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(li):605 +msgid "" +"The <uri link=\"http://gcc.gnu.org/onlinedocs/gcc-4.4.4/gcc/\">GNU gcc " +"manual</uri>" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(li):609 +msgid "" +"Chapter 5 of the <uri link=\"/doc/en/handbook/\">Gentoo Installation " +"Handbooks</uri>" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(uri:link):614 +msgid "http://en.wikipedia.org" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(uri):614 +msgid "Wikipedia" +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(li):615 +msgid "" +"<uri link=\"http://www.coyotegulch.com/products/acovea/\">Acovea</uri>, a " +"benchmarking and test suite that can be useful for determining how different " +"compiler flags interact and affect generated code, though its code " +"suggestions are not appropriate for system-wide use. It is available in " +"Portage: <c>emerge acovea</c>." +msgstr "" + +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(li):622 +msgid "The <uri link=\"http://forums.gentoo.org\">Gentoo Forums</uri>" +msgstr "" + +#. Place here names of translator, one per line. Format should be NAME; ROLE; E-MAIL +#: ../../gentoo/xml/htdocs/doc/en//gcc-optimization.xml(None):0 +msgid "translator-credits" +msgstr "" |