Вопросы с тегом «optimization»

120
Оптимизация приложения Android перед выпуском [закрыто]

В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно...

119
Каков самый быстрый / самый эффективный способ найти самый высокий установленный бит (msb) в целом числе в C?

Если у меня есть целое число n, и я хочу знать позицию самого старшего бита (то есть, если младший бит находится справа, я хочу знать позицию самого дальнего левого бита, равного 1), какой способ узнать самый быстрый / эффективный? Я знаю, что POSIX поддерживает ffs()метод в strings.h для поиска...

117
Почему компиляторы C ++ не оптимизируют это условное логическое присваивание как безусловное?

Рассмотрим следующую функцию: void func(bool& flag) { if(!flag) flag=true; } Мне кажется, что если флаг имеет допустимое логическое значение, это будет эквивалентно безусловной установке его на true, например: void func(bool& flag) { flag=true; } Однако ни gcc, ни clang не оптимизируют это...

116
Практики кодирования, которые позволяют компилятору / оптимизатору делать более быструю программу

Много лет назад компиляторы C не были особенно умными. В качестве обходного пути K&R изобрел ключевое слово register , чтобы намекнуть компилятору, что, возможно, было бы неплохо сохранить эту переменную во внутреннем регистре. Они также сделали третичный оператор, чтобы помочь сгенерировать...

115
Как перегрузить std :: swap ()

std::swap() используется многими стандартными контейнерами (такими как std::list и std::vector) во время сортировки и даже назначения. Но стандартная реализация swap() очень обобщена и довольно неэффективна для пользовательских типов. Таким образом, эффективность может быть повышена за счет...

114
В C ++ мне нужно кэшировать переменные или позволить компилятору сделать оптимизацию? (Сглаживание)

Рассмотрим следующий код ( pимеет тип unsigned char*и bitmap->widthимеет некоторый целочисленный тип, который точно неизвестен и зависит от того, какую версию какой-либо внешней библиотеки мы используем): for (unsigned x = 0; x < static_cast<unsigned>(bitmap->width); ++x) { *p++ =...

114
Инструменты для оптимизации JPEG? [закрыто]

Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 3 года назад . Уточните этот вопрос Знаете ли вы какие-либо инструменты...

114
Варианты производительности запросов LIKE в PostgreSQL

Я видел довольно большие различия во времени ответа на LIKEзапросы к конкретной таблице в моей базе данных. Иногда я получаю результаты в пределах 200-400 мс (очень приемлемо), но в других случаях для получения результатов может потребоваться до 30 секунд. Я понимаю, что LIKEзапросы очень...

114
Почему в MongoDB имеет значение направление индекса?

Чтобы процитировать документы : При создании индекса число, связанное с ключом, указывает направление индекса, поэтому оно всегда должно быть 1 (по возрастанию) или -1 (по убыванию). Направление не имеет значения для индексов с одним ключом или для выборки с произвольным доступом, но важно, если вы...

113
Как выбрать размеры сетки и блока для ядер CUDA?

Это вопрос о том, как определить сетку CUDA, размеры блоков и потоков. Это дополнительный вопрос к тому, что размещен здесь . После этой ссылки ответ от talonmies содержит фрагмент кода (см. Ниже). Мне непонятен комментарий «значение, обычно выбираемое настройкой и аппаратными ограничениями». Я не...

111
Почему .NET / C # не оптимизирован для рекурсии хвостового вызова?

Я нашел этот вопрос о том, какие языки оптимизируют хвостовую рекурсию. Почему C # по возможности не оптимизирует хвостовую рекурсию? В конкретном случае, почему этот метод не оптимизирован для создания цикла ( 32-разрядная версия Visual Studio 2008 , если это имеет значение) ?: private static void...

110
Почему два двоичных файла программ только с комментариями не изменяются в точности совпадают в gcc?

Я создал две программы на C Программа 1 int main() { } Программа 2 int main() { //Some Harmless comments } AFAIK, при компиляции компилятор (gcc) должен игнорировать комментарии и избыточные пробелы, и, следовательно, вывод должен быть аналогичным. Но когда я проверил md5-суммы выходных двоичных...

109
Какое самое быстрое целочисленное деление поддерживает деление на ноль независимо от результата?

Резюме: Я ищу самый быстрый способ расчета (int) x / (int) y без исключения y==0. Вместо этого я просто хочу произвольный результат. Задний план: При кодировании алгоритмов обработки изображений мне часто приходится делить на (накопленное) альфа-значение. Самый простой вариант - это простой код на...

109
Другой результат с плавающей запятой при включенной оптимизации - ошибка компилятора?

Приведенный ниже код работает в Visual Studio 2008 с оптимизацией и без нее. Но работает только на g ++ без оптимизации (O0). #include <cstdlib> #include <iostream> #include <cmath> double round(double v, double digit) { double pow = std::pow(10.0, digit); double t = v * pow;...

109
Каково интуитивное объяснение техники максимизации ожидания? [закрыто]

Закрыто . Этот вопрос должен быть более конкретным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыт 2 года назад . Уточните этот вопрос Максимизация ожиданий (EM) - это...

108
Уменьшение использования памяти приложениями .NET?

Какие советы по сокращению использования памяти приложениями .NET? Рассмотрим следующую простую программу на C #. class Program { static void Main(string[] args) { Console.ReadLine(); } } Скомпилированный в режиме выпуска для x64 и работающий вне Visual Studio, диспетчер задач сообщает следующее:...

108
Различные способы добавления в словарь

В чем разница между Dictionary.add(key, value)и Dictionary[key] = value? Я заметил, что последняя версия не выдает ошибку ArgumentExceptionпри вставке повторяющегося ключа, но есть ли причина предпочесть первую версию? Изменить : есть ли у кого-нибудь авторитетный источник информации об этом? Я...

106
Можно ли упростить (x == 0 || x == 1) в одну операцию?

Поэтому я пытался записать n- е число в последовательности Фибоначчи как можно более компактной функцией: public uint fibn ( uint N ) { return (N == 0 || N == 1) ? 1 : fibn(N-1) + fibn(N-2); } Но мне интересно, смогу ли я сделать это еще более компактным и эффективным, изменив (N == 0 || N == 1) в...