Вопросы с тегом 'optimization'

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

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

Вот фрагмент кода C++, который демонстрирует очень специфическое поведение. По какой-то странной причине сортировка данных чудесным образом делает код почти в шесть раз быстрее: #include <algorithm> #include <ctime> #include <iostream...
27 июн. '12 в 13:51
57

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

Ниже приведены два метода построения ссылки, которая имеет единственную цель запуска JavaScript-кода. Что лучше, с точки зрения функциональности, скорости загрузки страницы, целей проверки и т.д.? function myJsFunc() { alert("myJsFunc"); } &l...
25 сент. '08 в 17:54
11

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

Оптимизировать SQLite сложно. Массовая вставка приложения C может варьироваться от 85 вставок в секунду до более 96 000 вставок в секунду! Справочная информация: Мы используем SQLite как часть настольного приложения. У нас есть большие объемы данны...
10 нояб. '09 в 22:16
35

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

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

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

Я искал самый быстрый способ для больших массивов данных popcount. Я столкнулся с очень странным эффектом: изменение переменной цикла от unsigned до uint64_t привело к снижению производительности на 50% на моем ПК. Контрольный показатель #include...
01 авг. '14 в 10:33
24

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

Большинство людей со степенью в CS наверняка знают, что Big O означает. Это помогает нам измерить, насколько эффективен алгоритм, и если вы знаете в в какой категории проблема, которую вы пытаетесь решить, лежит в вас может выяснить, сможет ли еще вы...
06 авг. '08 в 10:18
11

Почему этот код на С++ быстрее, чем моя рукописная сборка для тестирования гипотезы Collatz?

Я написал эти два решения для Project Euler Q14 в сборке и на С++. Они представляют собой одинаковый подход грубой силы для тестирования гипотезы Collatz. Сборочный раствор был собран с помощью nasm -felf64 p14.asm && gcc p14.o -o p14 C++ ...
01 нояб. '16 в 6:12
4

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

Как достичь теоретической пиковой производительности 4 операций с плавающей запятой (двойной точности) за такт на современном процессоре Intel x86-64? Насколько я понимаю, это займет три цикла для SSE add и пять циклов для mul, чтобы закончить на б...
05 дек. '11 в 17:54
34

Стратегии оптимизации производительности в последней инстанции

На этом сайте уже много вопросов о производительности, но мне кажется, что почти все они очень проблемны и довольно узки. И почти все повторяют советы, чтобы избежать преждевременной оптимизации. Предположим: код уже работает правильно выбранные ...
29 мая '09 в 14:26
13

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

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

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

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

Каков самый "питонический" способ перебора списка в кусках?

У меня есть Python script, который принимает в качестве входного списка целые числа, которые мне нужно работать с четырьмя целыми за раз. К сожалению, у меня нет контроля над входом, иначе я бы прошел в виде списка четырехэлементных кортежей. В наст...
12 янв. '09 в 2:48
13

Существует ли a разница в производительности между i++ и ++i в C?

Существует ли разница в производительности между i++ и ++i если результирующее значение не используется?
24 авг. '08 в 6:48
42

Сгладить нерегулярный список списков

Да, я знаю, что этот вопрос был рассмотрен ранее (здесь, здесь, здесь, здесь), но, насколько я знаю, все решения, за исключением одного, выходят из списка следующим образом: L = [[[1, 2, 3], [4, 5]], 6] Если желаемый результат [1, 2, 3, 4, 5, 6] ...
28 янв. '10 в 22:15
23

Какой вариант лучше использовать для деления целочисленного числа на 2?

Какой из следующих методов является наилучшим вариантом для деления целого на 2 и почему? Техника 1: x = x >> 1; Техника 2: x = x / 2; Здесь x - целое число.
21 мая '12 в 7:54