Вопросы по теме '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 просмотров
schedule
02.12.2022
Флаги оптимизации компилятора Visual C++: разница между /O2 и /Ot
В чем разница между флагом /Ot ("предпочтение быстрого кода") и флагом /O2 ("максимальная скорость")?
(То же самое с /Os и /O1 .)
6643 просмотров
schedule
22.02.2024
Когда компилятор оптимизирует мой код
Я пытаюсь создать пример кода , чтобы показать оптимизация кода компилятором при умножении на степень 2 числа. Тем не менее, когда я включаю оптимизацию кода, IL остается в основном таким же. Любые идеи, что я делаю неправильно здесь?
Код:...
425 просмотров
schedule
19.09.2023
Есть ли способ заставить компилятор .Net JIT или C # оптимизировать пустые циклы for?
Продолжение Оптимизирует ли .NET JIT пустые циклы? :
Следующая программа просто запускает пустой цикл миллиард раз и выводит время выполнения. На моей машине это занимает 700 мс, и мне любопытно, есть ли способ получить джиттер, чтобы...
872 просмотров
schedule
30.03.2024
Есть ли хороший тест для оптимизирующих компиляторов С++?
Я оцениваю оптимизирующий компилятор Visual C++ 10 на тривиальных примерах кода, поэтому посмотрите, насколько хорош машинный код, и у меня пока нет творческих вариантов использования.
Есть ли какой-нибудь образец кода, который обычно используется...
419 просмотров
schedule
04.03.2024
Как я могу отклонить вызов, если во время компиляции известно граничное условие?
У меня следующая ситуация: есть огромный набор шаблонов, таких как std::vector , которые будут вызывать memmove() для перемещения частей массива. Иногда они могут захотеть "переместить" части нулевой длины - например, если хвост массива удален...
403 просмотров
schedule
23.04.2023
Перекомпиляция зависимостей с Maven - возможно? Повышение производительности?
Я думал о зависимостях в Maven. Maven загружает их, но неизвестно, для какой целевой версии JVM они скомпилированы и с каким компилятором. Это вызывает два вопроса:
Приведет ли перекомпиляция зависимостей к более быстрым библиотекам...
183 просмотров
schedule
05.03.2023
Зачем коду активно пытаться предотвратить оптимизацию хвостового вызова?
Название вопроса может быть немного странным, но дело в том, что, насколько мне известно, нет ничего, что вообще говорило бы против оптимизации хвостового вызова. Однако, просматривая проекты с открытым исходным кодом, я уже сталкивался с несколькими...
3191 просмотров
schedule
02.06.2023
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 просмотров
schedule
02.02.2024
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 просмотров
schedule
25.03.2022
Что такое &&& операция в 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 просмотров
schedule
08.02.2023
Могут ли современные компиляторы оптимизировать константные выражения, производные от функции?
Насколько я понимаю, современные компиляторы С++ используют ярлыки для таких вещей, как:
if(true)
{do stuff}
Но как насчет чего-то вроде:
bool foo(){return true}
...
if(foo())
{do stuff}
Or:
class Functor
{
public:
bool...
601 просмотров
schedule
09.02.2023
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 просмотров
schedule
29.04.2022