Вопросы по теме 'compiler-optimization'

Что такое #pragma эквивалентно параметру компилятора /O2 в VC++ (оптимизировать для скорости)
Согласно msdn , /O2 (Максимальная скорость) эквивалентно /Og/Oi/Ot/Oy/Ob2/Gs/GF/Gy и, согласно msdn , опять же, следующее прагма #pragma optimise( "[список-оптимизации]", {on | off} ) использует те же буквы в...
2670 просмотров
schedule 07.10.2023

Как отключить оптимизацию компилятора в gcc?
Я пытаюсь выучить язык ассемблера. Я искал и нашел, как дизассемблировать файл .c , но я думаю, что он создает какую-то оптимизированную версию программы. Есть ли способ, чтобы я мог увидеть точный код сборки, который соответствует моему файлу C.
113207 просмотров

Флаги оптимизации компилятора Visual C++: разница между /O2 и /Ot
В чем разница между флагом /Ot ("предпочтение быстрого кода") и флагом /O2 ("максимальная скорость")? (То же самое с /Os и /O1 .)
6643 просмотров

Когда компилятор оптимизирует мой код
Я пытаюсь создать пример кода , чтобы показать оптимизация кода компилятором при умножении на степень 2 числа. Тем не менее, когда я включаю оптимизацию кода, IL остается в основном таким же. Любые идеи, что я делаю неправильно здесь? Код:...
425 просмотров
schedule 19.09.2023

Есть ли способ заставить компилятор .Net JIT или C # оптимизировать пустые циклы for?
Продолжение Оптимизирует ли .NET JIT пустые циклы? : Следующая программа просто запускает пустой цикл миллиард раз и выводит время выполнения. На моей машине это занимает 700 мс, и мне любопытно, есть ли способ получить джиттер, чтобы...
872 просмотров
schedule 30.03.2024

Есть ли хороший тест для оптимизирующих компиляторов С++?
Я оцениваю оптимизирующий компилятор Visual C++ 10 на тривиальных примерах кода, поэтому посмотрите, насколько хорош машинный код, и у меня пока нет творческих вариантов использования. Есть ли какой-нибудь образец кода, который обычно используется...
419 просмотров

Как я могу отклонить вызов, если во время компиляции известно граничное условие?
У меня следующая ситуация: есть огромный набор шаблонов, таких как std::vector , которые будут вызывать memmove() для перемещения частей массива. Иногда они могут захотеть "переместить" части нулевой длины - например, если хвост массива удален...
403 просмотров

Перекомпиляция зависимостей с Maven - возможно? Повышение производительности?
Я думал о зависимостях в Maven. Maven загружает их, но неизвестно, для какой целевой версии JVM они скомпилированы и с каким компилятором. Это вызывает два вопроса: Приведет ли перекомпиляция зависимостей к более быстрым библиотекам...
183 просмотров

Зачем коду активно пытаться предотвратить оптимизацию хвостового вызова?
Название вопроса может быть немного странным, но дело в том, что, насколько мне известно, нет ничего, что вообще говорило бы против оптимизации хвостового вызова. Однако, просматривая проекты с открытым исходным кодом, я уже сталкивался с несколькими...
3191 просмотров

gcc/clang оптимизация загрузки с прямым порядком байтов uint16_t из массива uint8_t*
Учитывая нижеследующее: #include <stdint.h> #include <stdio.h> uint16_t foo(uint8_t* x) { uint16_t r = (x[1] << 8) | x[0]; return r; } uint16_t bar(uint8_t* x) { uint16_t r = ((uint16_t*) x)[0]; return r; } На...
610 просмотров
schedule 14.04.2023

Поведение компилятора?
Я просматриваю некоторый исходный код, и мне было интересно, было ли следующее потокобезопасным? Я слышал о переупорядочении инструкций/чтения компилятора или ЦП (будет ли это иметь какое-то отношение к прогнозированию ветвлений?), и переменная...
236 просмотров

float в двойное преобразование: зачем так много инструкций?
Мне любопытно, может ли кто-нибудь пролить свет на это для меня. Я работаю над некоторым числовым преобразованием данных, и у меня есть несколько функций, которые выполняют преобразования данных, которые я определяю с помощью двух макросов:...
951 просмотров
schedule 05.05.2024

Раздутые размеры EXE и нежелательные зависимости с Qt / MingW
Я пытаюсь понять, как уменьшить размеры EXE-файлов, скомпилированных с использованием новейшего QT SDK (4.8.2) (на основе mingw / g ++). Я работал над ванильным консольным приложением на C ++ с простым циклом и только #includes iostream, когда я...
2048 просмотров
schedule 19.12.2023

порядок печати в С++
Возможный дубликат: Что такое правильный ответ для cout ‹‹ c++ ‹‹ c;? У меня есть следующий код - int a= 7; const int &b = a; int &c = a; если я использую cout << endl << ++c << '\t' << a...
128 просмотров
schedule 19.09.2022

Конфигурация для оптимизации компилятора QtCreator
Я использую QtCreator в Windows 7. Я хочу настроить его для использования оптимизации третьего уровня ( -O3 ) для компилятора c ++. Как я могу это сделать, чтобы ускорить мой код и какие изменения необходимы?
18074 просмотров
schedule 31.08.2022

C++ 11 - использование шаблонов extern для сокращения времени компиляции
Возможный дубликат: Есть ли ошибка с внешним шаблоном в Visual C++? Я использую что-то подобное в VS12 в файле *.cpp extern template class std::vector<int>; ... at some point here I need to instantiate vector on int...
123 просмотров

Что такое &&& операция в C
#include <stdio.h> volatile int i; int main() { int c; for (i = 0; i < 3; i++) { c = i &&& i; printf("%d\n", c); } return 0; } Вывод вышеуказанной программы, скомпилированной с...
12981 просмотров

Могут ли современные компиляторы оптимизировать константные выражения, производные от функции?
Насколько я понимаю, современные компиляторы С++ используют ярлыки для таких вещей, как: if(true) {do stuff} Но как насчет чего-то вроде: bool foo(){return true} ... if(foo()) {do stuff} Or: class Functor { public: bool...
601 просмотров

GCC -Wuninitialized / -Wmaybe-неинициализированные проблемы
У меня возникла очень странная проблема с использованием gcc-4.7 (Ubuntu/Linaro 4.7.2-11precise2) 4.7.2 . Я не могу скомпилировать следующий допустимый код без предупреждения: extern void dostuff(void); int test(int arg1, int arg2) { int...
21478 просмотров
schedule 10.08.2023

бенчмаркинг, изменение порядка кода, volatile
Я решаю, что хочу протестировать конкретную функцию, поэтому наивно пишу такой код: #include <ctime> #include <iostream> int SlowCalculation(int input) { ... } int main() { std::cout << "Benchmark running..." <<...
4758 просмотров