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

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

3
Оптимизация целевой функции R с помощью Rcpp медленнее, почему?
В настоящее время я работаю над байесовским методом, который требует нескольких этапов оптимизации полиномиальной логит-модели на одну итерацию. Я использую optim () для выполнения этих оптимизаций, и целевая функция, написанная на R. Профилирование показало, что optim () является основным узким местом. Покопавшись, я нашел вопрос, в котором они предполагают, что …
16 c++  r  optimization  rcpp 

3
Самый быстрый способ найти минимальное произведение из 2 элементов массива, содержащих более 200 000 элементов
У меня есть массив a[n]. Номер nвводится нами. Мне нужно найти минимальный продукт a[i]и a[j]если: 1) abs(i - j) > k 2) a[i] * a[j]минимизируется Вот мое решение (очень наивное): #include <iostream> using namespace std; #define ll long long int main() { ll n,k; cin >> n >> k; ll …

2
Java: развернутый вручную цикл все еще быстрее, чем исходный цикл. Почему?
Рассмотрим следующие два фрагмента кода для массива длиной 2: boolean isOK(int i) { for (int j = 0; j < filters.length; ++j) { if (!filters[j].isOK(i)) { return false; } } return true; } а также boolean isOK(int i) { return filters[0].isOK(i) && filters[1].isOK(i); } Я бы предположил, что производительность этих …

4
Существует ли фрагмент кода C, который эффективно вычисляет безопасное переполнение без использования встроенных компиляторов?
Вот функция C, которая добавляет intк другому, терпя неудачу, если переполнение произойдет: int safe_add(int *value, int delta) { if (*value >= 0) { if (delta > INT_MAX - *value) { return -1; } } else { if (delta < INT_MIN - *value) { return -1; } } *value += delta; …

1
Эффективный алгоритм усечения строк, последовательно удаляющий одинаковые префиксы и суффиксы
Ограничение времени на тест: 5 секунд Ограничение памяти на тест: 512 мегабайт Вам дана строка sдлины n( n≤ 5000). Вы можете выбрать любой правильный префикс этой строки, который также является ее суффиксом, и удалить либо выбранный префикс, либо соответствующий суффикс. Затем вы можете применить аналогичную операцию к результирующей строке и …

3
можно отключить оптимизацию, чтобы переменные в области видимости из замыканий не «оптимизировались»
Как побочный продукт оптимизации кода, выполняемой современными браузерами, при отладке вы не можете «видеть» все переменные, которые «фактически» находятся в области видимости. Это хорошо известно и было рассмотрено в предыдущем вопросе о SO . Хотя эта функция, безусловно, полезная в производстве, меня сильно раздражает во время разработки, она замедляет меня …

5
Как «скопировать» матрицу, не создавая временную матрицу в памяти, которая вызвала переполнение памяти?
Назначая матрицу в гораздо большую выделенную память, Matlab каким-то образом будет дублировать ее при «копировании», и если копируемая матрица будет достаточно большой, произойдет переполнение памяти. Это пример кода: main_mat=zeros(500,500,2000); n=500; slice_matrix=zeros(500,500,n); for k=1:4 parfor i=1:n slice_matrix(:,:,i)=gather(gpuArray(rand(500,500))); end main_mat(:,:,1+(k-1)*n:1+(k-1)*n+n-1)=slice_matrix; %This is where the memory will likely overflow end Любой способ просто …

4
Почему компиляторы C оптимизируют переключение и если по-другому
Недавно я работал над личным проектом, когда наткнулся на странную проблему. В очень узком цикле у меня есть целое число со значением от 0 до 15. Мне нужно получить -1 для значений 0, 1, 8 и 9 и 1 для значений 4, 5, 12 и 13. Я повернулся к Godbolt, …

3
list :: empty () многопоточное поведение?
У меня есть список, из которого я хочу, чтобы разные темы брали элементы. Во избежание блокировки мьютекса, защищающего список, когда он пуст, я проверяю empty()перед блокировкой. Это нормально, если вызов list::empty()100% времени неправильный. Я только хочу , чтобы избежать сбоя или нарушений одновременно list::push()и list::pop()вызовов. Могу ли я предположить, что …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.