Запитання з тегом «optimization»

Оптимізація - акт удосконалення методу чи конструкції. У програмуванні оптимізація зазвичай набуває форми збільшення швидкості алгоритму або зменшення необхідних йому ресурсів. Іншим значенням оптимізації є чисельні алгоритми оптимізації, що використовуються в машинному навчанні.

11
найкращий спосіб очистити вміст .NET 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 …


9
Мій додаток для Android розряджається?
Я розробляю гру для Android. Він використовує вигляд поверхні та використовує стандартні 2D-інтерфейси для малювання, що надаються. Коли я вперше випустив гру, я робив усі найрізноманітніші речі, такі як перемальовування 9-патчів на кожному кадрі, а також з текстом. З тих пір я оптимізував більшу частину цього, малюючи об’єкти Bitmap та …

2
Чому комутатор не оптимізований так само, як ланцюговий, якщо інший в c / c ++?
Наступна реалізація квадрата видає серію операторів cmp / je, як я би сподівався на ланцюжок, якщо заява: int square(int num) { if (num == 0){ return 0; } else if (num == 1){ return 1; } else if (num == 2){ return 4; } else if (num == 3){ return …

3
Оптимізація цільової функції R з Rcpp повільніше, чому?
Зараз я працюю над методом Байєса, який вимагає декількох кроків оптимізації багаточленної моделі logit за ітерацію. Я використовую Optim () для виконання цих оптимізацій, і об'єктивна функція, написана в Р. Профілювання показало, що Optim () є основним вузьким місцем. Після копання я знайшов це питання, в якому вони припускають, що …
16 c++  r  optimization  rcpp 

3
Найшвидший спосіб знайти мінімальний добуток із двох елементів масиву, що містять 200000+ елементів
У мене є масив 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; return …

1
Ефективний алгоритм обрізання рядків, послідовно видаляючи рівні префікси та суфікси
Ліміт часу на тест: 5 секунд Ліміт пам’яті за тест: 512 мегабайт Вам надається рядок sдовжини n(n ≤ 5000). Ви можете вибрати будь-який власний префікс цього рядка, який також є його суфіксом, і видалити або обраний префікс, або відповідний суфікс. Потім ви можете застосувати аналогічну операцію до отриманого рядка тощо. …

3
чи можу я вимкнути оптимізацію, тому змінні в межах області застосування із закриттів не "оптимізовані"
Як побічний продукт оптимізації коду, який здійснюють сучасні браузери, під час налагодження ви не можете "побачити" всі змінні, які "фактично" знаходяться в області застосування. Це добре відомо, і це було розглянуто в попередньому запитанні тут . Ця особливість, хоча, звичайно, корисна у виробництві, мене дуже дратує під час розвитку, але …

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 () багатопотокова поведінка?
У мене є список, з якого я хочу захоплювати елементи з різних потоків. Щоб уникнути блокування файлу mutex, який захищає список, коли він порожній, я перевіряю empty()перед блокуванням. Це добре, якщо дзвінок на list::empty()неправильний 100% часу. Я хочу лише уникнути збоїв або зривів одночасних list::push()та list::pop()викликів. Чи можу я припустити, …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.