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

Оптимизация - это процесс улучшения метода или дизайна. В программировании оптимизация обычно принимает форму увеличения скорости алгоритма или сокращения необходимых ему ресурсов. Другое значение оптимизации - численные алгоритмы оптимизации, используемые в машинном обучении.

3
Индексы SQL Server - по возрастанию или по убыванию, какая разница?
Когда вы создаете индекс для столбца или количества столбцов в MS SQL Server (я использую версию 2005), вы можете указать, что индекс для каждого столбца будет либо по возрастанию, либо по убыванию. Мне трудно понять, почему этот выбор вообще существует. Разве поиск не будет таким же быстрым при использовании методов …

5
Обработка очень больших чисел в Python
Я думал о быстрой оценке покерных рук в Python. Мне пришло в голову, что одним из способов ускорить процесс было бы представить все лица и масти карты как простые числа и умножить их вместе, чтобы представить руки. Для того чтобы: class PokerCard: faces = '23456789TJQKA' suits = 'cdhs' facePrimes = …

10
Время запуска профилирования Vim
У меня включено много плагинов при использовании Vim - я собирал плагины на протяжении многих лет. Я немного сыт по горло тем, сколько времени требуется Vim, чтобы начать сейчас, поэтому я хотел бы профилировать его запуск и посмотреть, какие из многих плагинов у меня есть ответственность. Есть ли способ профилировать …

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

11
Измерение времени выполнения функции в C ++
Я хочу узнать, сколько времени требуется в моей программе на C ++ для выполнения определенной функции в Linux . После этого я хочу провести сравнение скорости. Я видел несколько функций времени, но закончил с этим из-за повышения. Chrono: process_user_cpu_clock, captures user-CPU time spent by the current process Теперь мне не …


13
Любая оптимизация для произвольного доступа к очень большому массиву, когда значение в 95% случаев равно 0 или 1?
Есть ли возможная оптимизация для произвольного доступа к очень большому массиву (сейчас я использую uint8_tи спрашиваю, что лучше) uint8_t MyArray[10000000]; когда значение в любой позиции в массиве равно 0 или 1 для 95% всех случаев, 2 в 4% случаев, от 3 до 255 в остальном 1% случаев? Итак, есть ли …

9
Функция объединения для PHP?
Многие языки программирования имеют функцию Coalesce (возвращает первое значение , не NULL, пример ). К сожалению, в 2009 году PHP этого не сделал. Что было бы хорошим способом реализовать его в PHP, пока сам PHP не получит функцию объединения?

2
В режиме выпуска поведение кода не такое, как ожидалось
Следующий код генерирует разные результаты в режиме отладки и в режиме выпуска (с использованием Visual Studio 2008): int _tmain(int argc, _TCHAR* argv[]) { for( int i = 0; i < 17; i++ ) { int result = i * 16; if( result > 255 ) { result = 255; } …

3
Почему оптимизирован простой цикл, когда ограничение составляет 959, но не 960?
Рассмотрим этот простой цикл: float f(float x[]) { float p = 1.0; for (int i = 0; i < 959; i++) p += 1; return p; } Если вы компилируете с помощью gcc 7 (снимок) или clang (ствол), -march=core-avx2 -Ofastвы получите что-то очень похожее на. .LCPI0_0: .long 1148190720 # float …
131 c  gcc  optimization  clang 

15
Виртуальные функции и производительность - C ++
В своем дизайне классов я широко использую абстрактные классы и виртуальные функции. Было ощущение, что виртуальные функции влияют на производительность. Это правда? Но я думаю, что эта разница в производительности незаметна и, похоже, делаю преждевременную оптимизацию. Правильно?


15
Быстро определить, присутствует ли значение в массиве C?
У меня есть встроенное приложение с критичным по времени ISR, которое должно перебирать массив размером 256 (предпочтительно 1024, но 256 - минимум) и проверять, соответствует ли значение содержимому массивов. В этом boolслучае A будет установлено значение true. Микроконтроллер - это NXP LPC4357, ядро ​​ARM Cortex M4, а компилятор - GCC. …

3
Использование этого указателя вызывает странную деоптимизацию в горячем цикле
Недавно я столкнулся со странной деоптимизацией (точнее, упущенной возможностью оптимизации). Рассмотрим эту функцию для эффективной распаковки массивов 3-битных целых чисел в 8-битные целые числа. На каждой итерации цикла он распаковывает 16 int: void unpack3bit(uint8_t* target, char* source, int size) { while(size > 0){ uint64_t t = *reinterpret_cast<uint64_t*>(source); target[0] = t …

22
Позиция установленного младшего бита
Я ищу эффективный способ определения позиции младшего значащего бита, который установлен в целое число, например, для 0x0FF0 это будет 4. Тривиальная реализация такова: unsigned GetLowestBitPos(unsigned value) { assert(value != 0); // handled separately unsigned pos = 0; while (!(value & 1)) { value >>= 1; ++pos; } return pos; } …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.