Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Дисциплины:
2017-07-24 | 247 |
5.00
из
|
Заказать работу |
|
|
Компиля́ция — трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера). Входной информацией для компилятора (исходный код) является описание алгоритма или программа на объектно-ориентированном языке, а на выходе компилятора — эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код).
GNU Compiler Collection (обычно используется сокращение GCC) — набор компиляторов для различных языков программирования, разработанный в рамках проекта GNU. Он используется как стандартный компилятор для свободных UNIX-подобных операционных систем.
Изначально названный GNU C Compiler поддерживал только язык Си. Позднее GCC был расширен для компиляции исходных кодов на таких языках программирования, как C++, Objective-C, Java, Фортран, Ada и Go.
Начало GCC было положено Ричардом Столлманом, который реализовал первый вариант GCC в 1985 году на нестандартном и непереносимом диалекте языка Паскаль; позднее компилятор был переписан на языке Си, как компилятор для проекта GNU, который сам по себе являлся свободным программным обеспечением.
ТИПЫ ОПТИМИЗАЦИЙ.
• оптимизации под типы приложений (оптимизация размера исполняемого кода, времени выполнения без ущерба для его размера и только времени выполнения)
• процессорные оптимизации (планирование инструкций, оптимизация под конкретный процессор, автоматическая и ручная диспетчеризация процессоров)
• дополнительные оптимизации (управление точностью вычислений с плавающей точкой, математические библиотеки стандартных функций)
|
ОПЦИИ ОПТИМИЗАЦИИ
• /Od (Linux: -O0) • Отключает возможности оптимизации• Следует использовать для проведенияотладки и быстрой компиляции• Данную функцию можно использоватьна начальных стадиях разработкиприложения до того момента, когда Выубедитесь в его корректной работе.
• /O1 (Linux: -O0) Оптимизация скорости пока есть благоприятствование размеру кода • O1 может повысить производительность приложений с кодом большого размера и множеством разветвлений, а также сократить время выполнения, устранив код внутри циклов • В большинстве случаев обеспечивает создание кода наименьшего размера • Эта функция применяется для приложений с высокими требованиями к размеру кода и его размещению, как, например, приложения больших баз данных и коды со множеством разветвлений без
использования циклов
• /O2 (Linux: -O2) По умолчанию. Оптимизация скорости приложения. Рекомендуемый уровень • В большинстве случаев создает самый быстрый код, но может увеличить код до размера, значительно превышающего -O1 • Для наилучшей общей производительности при работе с типичными приложениями целочисленных вычислений, которые мало используют вычисления с плавающей запятой
• /O3 (Linux: -O3) (Оптимизации высокого уровня) Включает /O2 на ряду с более агрессивными оптимизациями
• Иногда может замедлить код в сравнении с /O2 • Рекомендуется для приложений с циклами, интенсивно использующими вычисления с плавающей точкой, и для обработки больших массивов данных • Использование этой функции может увеличить время компиляции • Повышение производительности зависит от типа приложения; производительность некоторых приложений может остаться прежней
• -fast Увеличивает скорость работы всей программы:
i64 Linux: Поддерживает -O3 -ipo -static
i64 Windows: Поддерживает -O3 -Qipo (Qipo ~ ipo)
i32 Linux: Поддерживает -O3 -ipo -static -xP (-xP – векторизация)
i32 Windows: Поддерживает -O3 -Qipo -QxP
IPO (Interprocedural Optimization) – межпроцедурный анализ и оптимизации, которые делает компилятор над нашим кодом. Подключается он опцией -ipo и позволяет проводить оптимизации не для одного отдельного файла с исходным кодом, а для всех исходников одновременно. В этом случае компилятор знает намного больше и может сделать значительно больше выводов и, соответственно, преобразований/оптимизаций. При компиляции с -ipo меняется привычный нам порядок компиляции и линковки.
|
• -ip (между процедурами) • -ipo (между процедурами и между исходными файлами)
-static – Предотвращает линкование с общими библиотеками
ОТЛАДКА
• Используйте опции /Zi (Windows) и –g (Linux) для генерации информации символьной отладки (symbolic debugging), которую используют инструментальные средства анализа производительности. • Создает информацию по отладке • Добавляет информацию в объектный файл с тем, чтобы любая отдельная сборочная линия могла быть связана с соответствующим кодом • Выберите эту функцию наряду с требуемым вариантом оптимизации, например, -O2. В противном случае -Od (Linux: -O0) выбирается по умолчанию
|
|
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!