Π‘Π°ΠΊΠ°Π»Π°Π²Ρ€
Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Π΅ ΠΈ курсовыС Π½Π° Π·Π°ΠΊΠ°Π·

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ этой Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΡŽΡ‚ ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰ΡƒΡŽ ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ. К ΡΡ‚ΠΎΠΌΡƒ ΠΆΠ΅ классу слСдуСт отнСсти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ выравнивания (alignment) адрСсов ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ. — Os Ρ„Π»Π°Π³ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ всС Ρ„Π»Π°Π³ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ· — O2, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π’ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ автоматичСской ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ классы:

  • — ΠžΠΏΡ‚имизация, ΡƒΠ΄Π°Π»ΡΡŽΡ‰Π°Ρ «Π»ΠΈΡˆΠ½ΠΈΠΉ» ΠΊΠΎΠ΄. К ΡΡ‚ΠΎΠΌΡƒ классу относятся ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΡƒΠ΄Π°Π»ΡΡŽΡ‰ΠΈΠ΅ нСдоступный ΠΊΠΎΠ΄, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΠΎΠ΄Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (common sub-expression elimination, CSE). Бюда ΠΆΠ΅ относятся Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠ°ΠΊ вычислСниС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, содСрТащих константы, Π½Π° ΡΡ‚Π°ΠΏΠ΅ компиляции (constant folding) ΠΈ, ΠΈΠ½ΠΎΠ³Π΄Π°, встраиваниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
  • — ΠžΠΏΡ‚имизация, ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‰Π°Ρ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. К ΡΡ‚ΠΎΠΌΡƒ классу относятся ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΡŽΡ‰ΠΈΠ΅ число ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π±ΠΎΠ»Π΅Π΅ эффСктивными ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ пСрСстановку инструкций с Ρ†Π΅Π»ΡŒΡŽ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ оТидания (peephole optimization).
  • — ΠžΠΏΡ‚имизация Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ этой Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΡŽΡ‚ ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰ΡƒΡŽ ΠΏΡ€Π΅Π΄Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ. К ΡΡ‚ΠΎΠΌΡƒ ΠΆΠ΅ классу слСдуСт отнСсти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ выравнивания (alignment) адрСсов ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….
  • — ΠžΠΏΡ‚имизация Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΉ ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ². Π’ ΡΡ‚ΠΎΡ‚ класс входят ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΡƒΠ΄Π°Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ условия Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. К ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² относятся ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Ρ‹, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ счСтчики ΠΈ Ρ‚. ΠΏ.
  • — ΠžΠΏΡ‚имизация Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ стСкового Ρ„Ρ€Π΅ΠΉΠΌΠ°, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ…, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (function inlining).
  • — Π˜Π½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ оптимизация. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠ°ΠΊ пСрСстановка Π±Π»ΠΎΠΊΠΎΠ² (block reordering) ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π΅Π²ΠΎΠΉ рСкурсии.

ВсС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ Ρ‚ΠΈΠΏΡ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Π΅ GCC.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„Π»Π°Π³Π°Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ GCC ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ послС Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ man gcc.

Для gcc вСрсий 3. x ΠΈ Π²Ρ‹ΡˆΠ΅ сущСствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 5 ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ: — O0 (Π±Π΅Π· ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ), — O1, — O2 ΠΈ — O3 (O3 — самый высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ), Π° Ρ‚Π°ΠΊ ΠΆΠ΅ — Os.

— O0

ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ. Волько ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ register, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ….

— O (-O1)

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ. ΠŸΡ‹Ρ‚Π°Π΅Ρ‚ΡΡ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. БоотвСтствСнно увСличиваСтся врСмя компиляции. ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ — O Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π»Π°Π³ΠΈ:

  • — fauto-inc-dec — fcprop-registers — fdce — fdefer-pop — fdelayed-branch — fdse — fguess-branch-probability — fif-conversion2 — fif-conver ?sion
  • — finline-small-functions — fipa-pure-const — fipa-reference — fmerge-constants — fsplit-wide-types — ftree-builtin-call-dce
  • — ftree-ccp — ftree-ch — ftree-copyrename — ftree-dce — ftree-dominator-opts — ftree-dse — ftree-fre — ftree-sra — ftree-ter
  • — funit-at-a-time

На Ρ‚Π΅Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ способны ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Π΄Π°ΠΆΠ΅ Π±Π΅Π· указатСля Π½Π° ΡΡ‚Π΅ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ опция — fomit-frame-pointer.

На Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π»Π°Π³ΠΈ.

— O2

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Ρ‰Π΅ большС. GCC выполняСт ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ исполнСния Π·Π° ΡΡ‡Π΅Ρ‚ увСличСния Π΄Π»ΠΈΠ½Ρ‹ ΠΊΠΎΠ΄Π°. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ раскрутку Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈΠ»ΠΈ подстановку Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ — O2. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с — O, эта опция ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ врСмя компиляции, Ρ‚Π°ΠΊ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ сгСнСрированного ΠΊΠΎΠ΄Π°.

  • — O2 Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС Ρ„Π»Π°Π³ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ наслСдованныС ΠΎΡ‚ — O. Π’Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π»Π°Π³ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ:
  • — fthread-jumps
  • — falign-functions — falign-jumps — falign-loops — falign-labels — fcaller-saves — fcrossjumping — fcse-follow-jumps — fcse-skip-blocks
  • — fdelete-null-pointer-checks — fexpensive-optimizations — fgcse — fgcse-lm — findirect-inlining — foptimize-sibling-calls — fpeephole2
  • — fregmove — freorder-blocks — freorder-functions — frerun-cse-after-loop — fsched-interblock — fsched-spec — fschedule-insns — fsched? ule-insns2 — fstrict-aliasing — fstrict-overflow — ftree-switch-conversion — ftree-pre — ftree-vrp
  • — O3

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Ρ‰Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ — O2 ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ„Π»Π°Π³ΠΈ.

— finline-functions — funswitch-loops — fpredictive-commoning — fgcse-after-reload — ftree-vectorize.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, это ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ сказываСтся Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ компиляции, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

— Os

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ. — Os Ρ„Π»Π°Π³ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ всС Ρ„Π»Π°Π³ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ· — O2, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π’ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠΎΠ΄Π°.

  • — Os Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ слСдущиС Ρ„Π»Π°Π³ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ:
  • — falign-functions — falign-jumps — falign-loops — falign-labels — freorder-blocks
  • — freorder-blocks-and-partition — fprefetch-loop-arrays — ftree-vect-loop-version
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ