optimization- все статьи тега ➜ страница 3
Как вы тестируете время выполнения кода VBA?
есть ли код в VBA, который я могу обернуть функцией, что позволит мне узнать время, необходимое для запуска, чтобы я мог сравнить различные времена работы функций? ...
Вычесть/добавить значение без переполнения и потери значимости
представьте, что у меня есть два байта без знака b и x. Мне нужно вычислить bsub как b - x и badd как b + x. Тем не менее, я не хочу, чтобы во время этих операций возникал underflow/overflow. Например (псевдокод): b = 3; x = 5; bsub = b - x; // bsub must be 0, not 254 и b = 250; x = 10; badd = b + x; // badd must be 255, not 4 очевидный способ сделать это включает в себя ветвление: bsub = b - min(b, x); badd = b + min(255 - b, x); мне просто интересно, есть ли какие-то лучшие способы сд ...
Влияет ли использование анонимных функций на производительность?
мне было интересно, есть ли разница в производительности между использованием именованных функций и анонимных функций в Javascript? for (var i = 0; i < 1000; ++i) { myObjects[i].onMyEvent = function() { // do something }; } vs function myEventHandler() { // do something } for (var i = 0; i < 1000; ++i) { myObjects[i].onMyEvent = myEventHandler; } первый более аккуратный, так как он не загромождает ваш код редко используемыми функциями, но имеет ли значение, ...
Самый быстрый способ удалить все непечатаемые символы из строки Java
каков самый быстрый способ удалить все непечатаемые символы из String в Java? до сих пор я пробовал и измерял на 138-байтовой, 131-символьной строке: строки replaceAll() -самый медленный метод результаты 517009 / сек предварительная компиляция шаблона, а затем использовать совпадений по replaceAll() 637836 результаты / сек использовать StringBuffer, получить кодовые точки с помощью codepointAt() один за другим и добавить в StringBuffer 711946 результаты / сек используйте StringBuf ...
Java Integer compareTo () - зачем использовать сравнение против вычитания?
Я нашел это java.lang.Integer реализация compareTo метод выглядит следующим образом: public int compareTo(Integer anotherInteger) { int thisVal = this.value; int anotherVal = anotherInteger.value; return (thisVal<anotherVal ? -1 : (thisVal==anotherVal ? 0 : 1)); } вопрос в том, почему использовать сравнение вместо вычитания: return thisVal - anotherVal; ...
Когда оптимизация преждевременна?
Как сказал кнут, мы должны забывать о небольшой эффективности, скажем, около 97% времени: преждевременная оптимизация-это корень всех зол. Это то, что часто возникает в ответах на переполнение стека на такие вопросы, как "какой наиболее эффективный механизм цикла", "методы оптимизации SQL?"(и так далее). Стандартный ответ на эти вопросы с советами по оптимизации заключается в том, чтобы профилировать ваш код и посмотреть, не является ли это проблемой во-первых, и если это не так, значит Ва ...
Что же такое правило" как если бы"?
Как говорится в названии, Что такое правило" как если бы"? типичный ответ, который можно было бы получить: правило, которое позволяет любые и все преобразования кода, которые не изменяют наблюдаемое поведение программы время от времени мы продолжаем получать поведение от определенных реализаций, которые приписываются этому правилу. Много раз неправильно. Итак,что же это за правило. В стандарте это правило четко не упоминается как раздел или абзац, так что же именно подпадает под сфер ...
Когда не самое подходящее время для использования генераторов python?
это скорее наоборот для чего можно использовать функции генератора Python?: генераторы python, выражения генератора и itertools модуль-это некоторые из моих любимых функций python в эти дни. Они особенно полезны при настройке цепочек операций для выполнения на большой куче данных-я часто использую их при обработке файлов DSV. так когда же это не хорошее время для использования генератора, или выражения генератора, или ? когда я должен предпочесть zip() over itertools.izip() или range() over ...
GCC: чем март отличается от mtune?
Я попытался очистить страницу руководства GCC для этого, но все равно не понимаю, на самом деле. В чем разница между -march и -mtune ? когда можно использовать только -march, и как? Можно ли когда-нибудь просто -mtune? ...
лучший способ очистить содержимое of.NET ' S StringBuilder
Я хотел бы спросить, что вы думаете, это лучший способ (длится меньше / потребляет меньше ресурсов), чтобы очистить содержимое для повторного использования StringBuilder. Представьте себе следующий сценарий: StringBuilder sb = new StringBuilder(); foreach(var whatever in whateverlist) { sb.Append("{0}", whatever); } //Perform some stuff with sb //Clear stringbuilder here //Populate stringbuilder again to perform more actions foreach(var whatever2 in whateverlist2) { sb.Append("{0}", what ...
Попытка понять опцию gcc-fomit-frame-pointer
Я попросил Google дать мне значение gcc опции -fomit-frame-pointer, который перенаправляет меня на следующий оператор. - fomit-frame-pointer Не держите указатель кадра в регистре для функций, которые в нем не нуждаются. Это позволяет избежать инструкций по сохранению, настройке и восстановлению указателей кадров; это также делает дополнительный регистр доступным во многих функциях. Это также делает отладку невозможной на некоторых машины. согласно моим знаниям о каждой функции, запис ...
Временные таблицы в PostgreSQL
мне нужно выполнить запрос в 2,5 миллиона раз. Этот запрос генерирует некоторые строки, которые мне нужно AVG(column) а затем использовать это AVG для фильтрации таблицы по всем значениям ниже среднего. Мне тогда нужно INSERT эти отфильтрованные результаты в таблицу. единственный способ сделать такую вещь с разумной эффективностью, кажется, путем создания TEMPORARY TABLE для каждого запроса-postmaster python-thread. Я просто надеюсь, что эти TEMPORARY TABLEs не будет сохраняться на жестком дис ...
Logger slf4j преимущества форматирования с {} вместо конкатенации строк
есть ли какие-либо преимущества использования {} вместо конкатенации строк? пример из slf4j logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT); вместо logger.debug("Temperature set to"+ t + ". Old temperature was " + oldT); Я думаю, что речь идет об оптимизации скорости, потому что оценки параметров (и конкатенации строк) можно было бы избежать во время выполнения в зависимости от файла конфигурации. Но возможны только два параметра, тогда иногда нет другого выбора, ...
Примеры Предварительной Выборки?
кто может дать пример или ссылку на пример, который использует __builtin_prefetch в GCC (или просто инструкции ASM prefetcht0 в целом), чтобы получить существенное преимущество в производительности? В частности, я хотел бы, чтобы пример соответствовал следующим критериям: это простой, небольшой, самодостаточный пример. удаление __builtin_prefetch инструкция приводит к снижению производительности. замена __builtin_prefetch поручение с соответствующей памятью доступ приводит к снижению производи ...
Какой самый быстрый способ, чтобы прочитать из системы.в языке Java?
Я читаю кучу целых чисел, разделенных пробелом или новыми строками от стандарта при использовании Scanner(System.in). есть ли быстрый способ сделать это в Java? ...
Производительность представлений MySql [закрыто]
Если вы идете по пути использования представлений, как вы можете обеспечить хорошую производительность? или лучше не использовать представления в первую очередь и просто включить эквивалент в ваши инструкции select? ...
Конкатенация строк без оператора' +
Я играл с python, и я понял, что нам не нужно использовать оператор '+' для объединения строк, если он не используется напрямую. например: string1 = 'Hello' 'World' #1 works fine string2 = 'Hello' + 'World' #2 also works fine string3 = 'Hello' string4 = 'World' string5 = string3 string4 #3 causes syntax error string6 = string3 + string4 #4 works fine теперь у меня есть два вопроса: почему оператор 3 не работает, а оператор 1 делает? есть ли какие-либо технические различия, такие ...
SSE SSE2 и SSE3 для GNU C++
есть ли простой учебник для меня, чтобы получить до скорости в SSE, SSE2 и SSE3 в GNU C++? Как вы можете сделать оптимизацию кода в SSE? ...
Почему функция удаления ArrayList Java, похоже, стоит так мало?
У меня есть функция, которая управляет очень большим списком, превышающим около 250 000 элементов. Для большинства из этих пунктов, он просто заменяет элемент в позиции X. Тем не менее, около 5% из них, его необходимо удалить их из списка. использование LinkedList казалось наиболее очевидным решением, чтобы избежать дорогостоящих удалений. Однако, естественно, доступ к LinkedList по индексу становится все более медленным с течением времени. Стоимость здесь составляет минуты (и много их.) испол ...
Скорость вставки SQLite замедляется по мере увеличения количества записей из-за индекса
исходный вопрос фон хорошо известно, что SQLite должен быть настроен для достижения скорости вставки порядка 50k вставок / С. Здесь есть много вопросов относительно медленных скоростей вставки и множество советов и тестов. также утверждает, что SQLite может обрабатывать большие объемы данных, с отчетами 50 + GB не вызывая никаких проблем с правом настройки. я следовал советам здесь и в других местах для достижения этих скоростей, и я доволен 35k-45k вставками/С. проблема у меня есть в том, ч ...