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

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

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

Вот кусок кода на С++, который кажется очень своеобразным. По какой-то странной причине сортировка данных чудом делает код почти в шесть раз быстрее. #include <algorithm> #include <ctime> #include <iostream> int main() { // Ge...
27 июня '12 в 16:51
55 отв.

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

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

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

Оптимизация SQLite сложна. Производительность вложений в C-приложение может варьироваться от 85 вставок в секунду до более чем 96 000 вставок в секунду! Фон: Мы используем SQLite как часть настольного приложения. У нас есть большое количество данн...
11 нояб. '09 в 1:16
35 отв.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Самый быстрый тип фиксированной длины 6 int array

Отвечая на другой вопрос (этот), я наткнулся на интересную подзадачу. Какой самый быстрый способ сортировки массива из 6 целых чисел? Как вопрос очень низкого уровня: мы не можем предполагать, что библиотеки доступны (и сам вызов имеет свою стоимо...
07 мая '10 в 10:24