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

445
Почему GCC генерирует код на 15-20% быстрее, если я оптимизирую размер вместо скорости?

Я впервые заметил в 2009 году, что GCC (по крайней мере, в моих проектах и ​​на моих машинах) имеет тенденцию генерировать заметно более быстрый код, если я оптимизирую для size ( -Os) вместо скорости ( -O2или -O3), и с тех пор я удивляюсь, почему. Мне удалось создать (довольно глупый) код, который...

441
Лучший способ перевернуть строку

Я просто должен был написать функцию обратного преобразования строк в C # 2.0 (т.е. LINQ недоступен) и придумал это: public string Reverse(string text) { char[] cArray = text.ToCharArray(); string reverse = String.Empty; for (int i = cArray.Length - 1; i > -1; i--) { reverse += cArray[i]; }...

412
Почему (a * b! = 0) быстрее, чем (a! = 0 && b! = 0) в Java?

Я пишу некоторый код на Java, где в какой-то момент поток программы определяется тем, являются ли две переменные int, "a" и "b", ненулевыми (примечание: a и b никогда не бывают отрицательными, и никогда в пределах диапазона целочисленного переполнения). Я могу оценить это с if (a != 0 && b...

410
Легче ли оптимизировать Fortran, чем C, для тяжелых вычислений?

Время от времени я читаю, что Fortran является или может быть быстрее C для тяжелых вычислений. Это действительно так? Я должен признать, что почти не знаю Фортрана, но код Фортрана, который я видел до сих пор, не показал, что в языке есть функции, которых нет в Си. Если это правда, пожалуйста,...

407
Производительность HashSet и List

Понятно, что эффективность поиска универсального HashSet<T>класса выше, чем универсального List<T>класса. Просто сравните ключ на основе хеша с линейным подходом в List<T>классе. Однако вычисление ключа хеша само по себе может занять несколько циклов ЦП, поэтому для небольшого...

400
Статическое связывание против динамического связывания

Существуют ли какие-либо веские причины для выбора статического соединения вместо динамического или наоборот в определенных ситуациях? Я слышал или читал следующее, но я не знаю достаточно по этому вопросу, чтобы ручаться за его правдивость. 1) Разница в производительности во время выполнения между...

397
Эффективность чисто функционального программирования

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

390
Самый быстрый способ определить, находится ли целое число между двумя целыми числами (включительно) с известными наборами значений

Есть ли более быстрый способ, чем x >= start && x <= endв C или C ++, проверить, находится ли целое число между двумя целыми числами? ОБНОВЛЕНИЕ : Моя конкретная платформа - iOS. Это часть функции размытия прямоугольника, которая ограничивает пиксели кругом в данном квадрате....

371
Есть ли преимущество использования map перед unordered_map в случае тривиальных ключей?

Недавний разговор о unordered_mapC ++ заставил меня понять, что я должен использовать unordered_mapв большинстве случаев, где я использовал mapраньше, из-за эффективности поиска ( амортизированный O (1) против O (log n) ). В большинстве случаев я использую карту, я использую intили std::stringкак...

363
HTTP против HTTPS производительности

Существуют ли существенные различия в производительности между http и https? Кажется, я помню, что читал, что HTTPS может быть в пять раз быстрее, чем HTTP. Это действительно для веб-серверов / браузеров текущего поколения? Если так, есть ли какие-либо технические документы, чтобы поддержать...

360
Почему порядок циклов влияет на производительность при итерации по двумерному массиву?

Ниже приведены две почти идентичные программы, за исключением того, что я переключил переменные iи j. Они оба бегут в разное количество времени. Может кто-нибудь объяснить, почему это происходит? Версия 1 #include <stdio.h> #include <stdlib.h> main () { int i,j; static int...

359
Обработка предупреждения о возможном множественном перечислении IEnumerable

В моем коде нужно использовать IEnumerable<>несколько раз, таким образом получаю ошибку Resharper «Возможное многократное перечисление IEnumerable». Образец кода: public List<object> Foo(IEnumerable<object> objects) { if (objects == null || !objects.Any()) throw new...

359
Является ли представление быстрее, чем простой запрос?

Это select * from myView быстрее, чем сам запрос для создания представления (для того, чтобы иметь тот же набор результатов): select * from ([query to create same resultSet as myView]) ? Мне не совсем понятно, использует ли представление какое-то кэширование, что делает его быстрее по сравнению с...

354
Когда и почему объединения баз данных дороги?

Я провожу исследование баз данных и смотрю на некоторые ограничения реляционных БД. Я получаю, что объединения больших таблиц очень дорого, но я не совсем уверен, почему. Что нужно сделать СУБД для выполнения операции соединения, где узкое место? Как денормализация может помочь преодолеть эти...

351
Массив или Список в Java. Что быстрее?

Я должен хранить тысячи строк в памяти для последовательного доступа на Java. Должен ли я хранить их в массиве или использовать какой-то список? Поскольку массивы хранят все данные в непрерывном фрагменте памяти (в отличие от списков), вызовет ли проблема использование массива для хранения тысяч...

346
Список функций Big-O для PHP

После некоторого времени использования PHP я заметил, что не все встроенные функции PHP работают так быстро, как ожидалось. Рассмотрим эти две возможные реализации функции, которая находит, является ли число простым, используя кэшированный массив простых чисел. //very slow for large $prime_array...

345
В .NET какой цикл выполняется быстрее, «для» или «foreach»?

В C # / VB.NET / .NET какой цикл работает быстрее forили foreach? С тех пор, как я прочитал, что forцикл работает быстрее, чем foreachцикл давным-давно, я предположил, что это верно для всех коллекций, универсальных коллекций, всех массивов и т. Д. Я просмотрел Google и нашел несколько статей, но...

345
Лучший способ выбрать случайные строки PostgreSQL

Я хочу случайный выбор строк в PostgreSQL, я попробовал это: select * from table where random() < 0.01; Но некоторые другие рекомендуют это: select * from table order by random() limit 1000; У меня очень большая таблица с 500 миллионами строк, я хочу, чтобы она была быстрой. Какой подход лучше?...