Я делаю обзор функций при подготовке к исследовательскому проекту. Назовите основную функцию языка или языка, которую трудно оптимизировать, и почему функция или не стоит цены, заплаченной, или...
Таким образом, я читал о модели памяти, которая является частью предстоящего C++ 0x стандарт. Однако я немного смущен некоторыми ограничениями для того, что компилятору позволяют сделать, конкретно...
Как noexcept в C ++ меняет сборку? Я попробовал немного с маленькими функциями, в Godbolt, но сборка не изменилась. float pi () // noexcept // без разницы {return 3.14; } int main () {...
Когда приведение типов нарушает строгое правило псевдонимов в C и C ++, компилятор может оптимизировать таким образом, чтобы можно было распространять неправильное значение константы и разрешать доступ без выравнивания, что ...
См. также эти связанные ресурсы: сборщик "мусора".NET выполняет упреждающий анализ кода? (на Переполнении стека) WP7: Когда делает GC, Рассматривают Локальную переменную как Мусор (блог...
Итак, в последнее время я размышлял над тем, как можно было бы сопоставить с образцом и переписывание терминов в системе Mathematica для хорошего использования при оптимизации компилятора ... пытаясь сильно оптимизировать короткие блоки кода, которые ...
Документация для __ принимает, говорит, что "Наиболее популярный способ использования __ принимает, со случаем по умолчанию оператора переключения, как показано в следующем примере".. Есть ли любой другой случай, где __ принимают, может вести...
Я в настоящее время использую следующий препроцессор, определяет, и различные настройки оптимизации: WIN32_LEAN_AND_MEAN VC_EXTRALEAN NOMINMAX _CRT_SECURE_NO_WARNINGS _SCL_SECURE_NO_WARNINGS _SECURE_SCL=0...
При написании оптимизированной функции ftol я обнаружил очень странное поведение в GCC 4.6.1. Позвольте мне сначала показать вам код (для ясности я отметил различия ):fast _trunc _one, C :int fast _trunc _one (...
Я не совсем понимаю, почему я не получаю деление на ноль исключений: int d = 0; д / = д; Я ожидал получить деление на ноль исключений, но вместо этого d == 1. Почему d / = d не выбрасывает деление на ...
Насколько я знаю, псевдонимы ссылок / указателей могут препятствовать способности компилятора генерировать оптимизированный код, поскольку они должны гарантировать, что сгенерированный двоичный код ведет себя правильно в случае, когда два ...
Возможный дубликат: C ++: когда вам помогало непостоянное ключевое слово? Я никогда не использовал его, но мне интересно, почему люди его используют? Что именно он делает? Я искал форум, я нашел только C # или ...
Недавно я познакомился с концепцией оптимизации хвостовых вызовов, и, насколько я могу судить, она не поддерживается по своей сути в компиляторе .NET, но есть обходной путь, называемый «трамплин», который я…
Рассмотрим следующий код: __attribute __ ((noinline)) int foo1 (int x, int y) {return x; } int bar1 (int * a) {int b = foo1 (a [5], a [10]); вернуть b * b; } Хотя foo1 не встроен, ...
Я реализовывал алгоритм в Swift Beta и заметил, что производительность была очень плохой. Покопавшись глубже, я понял, что одним из узких мест является нечто такое же простое, как сортировка массивов. ...
Я пытаюсь понять, что делает компилятор с очень простым фрагментом кода: if (group.ImageHeight > 1 & amp; group.ImageWidth > 1) {// Между скобками нет кода} После .. ,
Я столкнулся с ситуацией, когда было бы полезно оптимизировать ненужные вызовы для realloc. Тем не менее, кажется, что ни Clang, ни GCC не делают такие вещи (Godbolt). - Хотя я вижу ...
Возможно ли ощутимое повышение производительности при использовании __assume в VC++? Если это так, пожалуйста, опубликуйте доказательство с кодом и тестами в своем ответе. Немногочисленная статья MSDN о __assume: http://msdn.microsoft.com/...
Я обнаружил, что Java поддерживает сворачивание констант примитивных типов, но как насчет строк? Пример Если я создам следующий исходный код out.write ("" + "<разметка>" + "<...
Я искал самый быстрый способ для подсчета больших массивов данных. Я столкнулся с очень странным эффектом: изменение переменной цикла с unsigned на uint64_t привело к падению производительности на 50% на моем ПК. ...
Этот вопрос касается не самого языка C++(, т.е. не стандарта), а того, как вызвать компилятор для реализации альтернативных схем для виртуальной функции. Общая схема для...
Кажется, что gcc 4.6.2 удаляет код, который он считает неиспользуемым, из функций. test.c int main(void) { goto exit; обработчик: __asm__ __volatile__("jmp 0x0"); выход: возврат 0;
} Дизассемблирование ...
Я использую xlrd для обработки файлов Excel. Я запускаю сценарий для папки, содержащей много файлов, и печатаю сообщения, связанные с файлами. Однако для каждого файла, который я запускаю, я получаю следующее...
Компилятор Microsoft C ++ (cl.exe, входящий в состав Visual Studio) предлагает несколько параметров оптимизации. Разница между большинством из них кажется очевидной, но мне не ясно, что ...
Я наблюдал в системе, что std :: fill на большом std :: vector < int > был значительно и постоянно медленнее при установке постоянного значения 0 по сравнению с постоянным значением 1 или динамическим значением: ...
Один из вопросов, который я задал некоторое время назад, имел неопределенное поведение, поэтому оптимизация компилятора фактически приводила к сбою программы. Но если в вашем коде нет неопределенного поведения, тогда ...
Это вопрос, который пришел на ум при чтении блестящего ответа Mysticial на вопрос :, почему быстрее обрабатывать отсортированный массив, чем несортированный? Контекст для задействованных типов :...
Этот пост тесно связан с другим, опубликованным мной несколько дней назад. На этот раз я написал простой код, который просто добавляет пару массивов элементов, умножает результат на значения в другом массиве ...