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

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

24456
Почему обработка отсортированного массива быстрее, чем обработка несортированного массива?

На этот вопрос есть ответы на Stack Overflow на русском : Почему отсортированный массив обрабатывается быстрее, чем не отсортированный? Вот фрагмент кода C ++, который демонстрирует очень своеобразное поведение. По какой-то странной причине сортировка данных чудесным образом делает код почти в...

4079
Какое значение «href» я должен использовать для ссылок JavaScript, «#» или «javascript: void (0)»?

Ниже приведены два метода создания ссылки, единственной целью которой является запуск кода JavaScript. Что лучше с точки зрения функциональности, скорости загрузки страницы, целей проверки и т. Д.? function myJsFunc() { alert("myJsFunc"); } <a href="#" onclick="myJsFunc();">Run JavaScript...

2976
Улучшить производительность SQLite по INSERT в секунду

Оптимизировать SQLite сложно. Массовая вставка приложения C может варьироваться от 85 вставок в секунду до более 96 000 вставок в секунду! Справочная информация: мы используем SQLite как часть настольного приложения. У нас есть большие объемы данных конфигурации, хранящихся в файлах XML, которые...

2247
Почему поэлементное сложение намного быстрее в отдельных циклах, чем в комбинированном цикле?

Предположим a1, b1, c1иd1 точка в динамической памяти , и мой числовой код имеет следующий основной цикл. const int n = 100000; for (int j = 0; j < n; j++) { a1[j] += b1[j]; c1[j] += d1[j]; } Этот цикл выполняется 10000 раз через другой внешний forцикл. Чтобы ускорить его, я изменил код на: for...

2120
Почему GCC не оптимизирует a * a * a * a * a * a до (a * a * a) * (a * a * a)?

Я делаю некоторую числовую оптимизацию для научного приложения. Одна вещь, которую я заметил, заключается в том, что GCC оптимизирует вызов pow(a,2), компилируя его a*a, но вызов pow(a,6)не оптимизируется и фактически вызовет библиотечную функцию pow, что значительно снижает производительность. (В...

1455
Самый быстрый способ определить, является ли целочисленный квадратный корень целым числом

Я ищу самый быстрый способ определить, является ли long значение идеальным квадратом (то есть его квадратный корень является другим целым числом): Я сделал это простым способом, используя встроенный Math.sqrt() функцию, но мне интересно, есть ли способ сделать это быстрее, ограничив себя только...

1424
Замена 32-разрядного счетчика циклов на 64-разрядный вводит сумасшедшие отклонения производительности с _mm_popcnt_u64 на процессорах Intel

Я искал самый быстрый способ для popcountбольших массивов данных. Я обнаружил очень странное действие: Изменение переменного цикла из unsignedк uint64_tвысказанному падению производительности на 50% по сравнению с ПК. Бенчмарк #include <iostream> #include <chrono> #include...

1165
Какова цель атрибута «роль» в HTML?

Я продолжаю видеть ролевые атрибуты в работе некоторых людей. Я тоже им пользуюсь, но не уверен в его эффекте. Например: <header id="header" role="banner"> Header stuff in here </header> Или: <section id="facebook" role="contentinfo"> Facebook stuff in here </section> Или:...

928
Быстрая бета-версия: сортировка массивов

Я реализовывал алгоритм в Swift Beta и заметил, что производительность была очень плохой. Покопавшись глубже, я понял, что одним из узких мест является нечто такое же простое, как сортировка массивов. Соответствующая часть здесь: let n = 1000000 var x = [Int](repeating: 0, count: n) for i in...

881
Big O, как вы рассчитываете / приближаете это?

Большинство людей со степенью в CS, безусловно , знают , что Big O означает . Это помогает нам измерить, насколько хорошо масштабируется алгоритм. Но мне любопытно, как вы рассчитываете или приближаете сложность ваших...

833
Код C ++ для проверки гипотезы Коллатца быстрее, чем рукописная сборка - почему?

Я написал эти два решения для Project Euler Q14 , в сборке и на C ++. Это один и тот же метод грубой силы для проверки гипотезы Коллатца . Решение для сборки было собрано с nasm -felf64 p14.asm && gcc p14.o -o p14 C ++ был скомпилирован с g++ p14.cpp -o p14 Ассамблея, p14.asm section .data...

643
Как мне достичь теоретического максимума 4 FLOP за цикл?

Как достичь теоретической пиковой производительности 4 операций с плавающей запятой (двойной точности) за такт на современном процессоре Intel x86-64? Насколько я понимаю, для большинства современных процессоров Intel требуется три цикла для SSE add и пять циклов для a mul(см., Например , «Таблицы...

609
Стратегии оптимизации производительности последней инстанции [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 6 лет назад . На этом сайте уже есть много вопросов о...

554
Получение всех типов, которые реализуют интерфейс

Используя отражение, как я могу получить все типы, которые реализуют интерфейс с C # 3.0 / .NET 3.5 с наименьшим количеством кода и минимизируя итерации? Вот что я хочу переписать: foreach (Type t in this.GetType().Assembly.GetTypes()) if (t is IMyInterface) ; //do stuff...

524
Какой самый эффективный способ сравнения с плавающей запятой и двойного сравнения?

Какой самый эффективный способ сравнить два doubleили два floatзначения? Просто делать это не правильно bool CompareDoubles1 (double A, double B) { return A == B; } Но что-то вроде: bool CompareDoubles2 (double A, double B) { diff = A - B; return (diff < EPSILON) && (-diff < EPSILON);...

488
Какой самый «питонный» способ перебрать список по частям?

У меня есть сценарий Python, который принимает в качестве входных данных список целых чисел, которые мне нужно работать с четырьмя целыми числами одновременно. К сожалению, у меня нет контроля над вводом, или я бы передал его в виде списка из четырех элементов. В настоящее время я повторяю это так:...

458
Как добавить ссылку на приложение System.Web.Optimization для приложения MVC-3, преобразованного в 4

Я пытаюсь использовать новую функцию комплектации в проекте, который я недавно преобразовал из бета-версии MVC 3 в MVC 4. Для этого требуется строка кода в global.asax BundleTable.Bundles.RegisterTemplateBundles();, которая требуется using System.Web.Optimization;вверху. Когда я делаю это, я...

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

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