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

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

3
Чому код активно намагається запобігти оптимізації зворотних викликів?
Заголовок запитання може бути дещо дивним, але справа в тому, що, наскільки мені відомо, взагалі немає нічого, що могло б говорити проти оптимізації виклику хвоста. Однак, переглядаючи проекти з відкритим кодом, я вже натрапив на кілька функцій, які активно намагаються перешкодити компілятору виконувати оптимізацію хвостового виклику, наприклад, реалізація CFRunLoopRef, яка …

2
Чому в ArrayBlockingQueue копіюється поле остаточного члена в локальну кінцеву змінну?
В ArrayBlockingQueue, всі методи , які вимагають блокування скопіювати його в локальну finalзмінну перед викликом lock(). public boolean offer(E e) { if (e == null) throw new NullPointerException(); final ReentrantLock lock = this.lock; lock.lock(); try { if (count == items.length) return false; else { insert(e); return true; } } finally …

5
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;

6
Оптимізація веб-сайтів на базі Kohana для швидкості та масштабованості
Сайт, який я побудував із Коханою, вчора був завалений величезним обсягом трафіку, змусивши мене зробити крок назад і оцінити частину дизайну. Мені цікаво, які стандартні методи оптимізації програм на базі Kohana? Мене цікавить і бенчмаркінг. Чи потрібно мені налаштовувати Benchmark::start()і Benchmark::stop()для кожного методу контролера, щоб бачити час виконання для всіх …

2
Спроба зрозуміти параметр gcc -fomit-frame-pointer
Я попросив Google надати мені значення gccпараметра -fomit-frame-pointer, який перенаправляє мене на наступне твердження. -fomit-frame-pointer Не зберігайте покажчик кадру в реєстрі функцій, які йому не потрібні. Це дозволяє уникнути інструкцій щодо збереження, налаштування та відновлення покажчиків фреймів; це також робить додатковий регістр доступним для багатьох функцій. Це також унеможливлює налагодження …

2
Вимірювання фактичного часу запиту MySQL
Як я можу виміряти час виконання запиту, не вимірюючи час, який він витрачає на очікування випуску блокування тощо? Моєю єдиною ідеєю було постійно вимірювати один і той самий запит і фіксувати найшвидший час.

11
Поради щодо оптимізації програм C # /. NET [закрито]
В даний час це питання не підходить для нашого формату запитань та відповідей. Ми очікуємо, що відповіді будуть підтверджені фактами, посиланнями чи експертизою, але це питання, швидше за все, вимагатиме дебатів, аргументів, опитування чи розширеного обговорення. Якщо ви вважаєте, що це питання можна покращити і, можливо, знову відкрити, відвідайте довідковий …
78 c#  .net  optimization 

5
Чому умовний переїзд не є вразливим щодо відмови прогнозування філій?
Прочитавши цю публікацію (відповідь на StackOverflow) (у розділі оптимізації), мені було цікаво, чому умовні переміщення не є вразливими до відмови передбачення гілок. Я знайшов статтю про умовні переїзди тут (PDF від AMD) . Також там вони заявляють про перевагу в експлуатації умовно. рухається. Але чому це? Я цього не бачу. …

3
Що насправді робить параметр «Оптимізувати код» у Visual Studio?
Назва параметра дещо говорить, але що насправді робить Visual Studio / компілятор і які реальні наслідки? Редагувати: Якщо ви шукаєте в google, ви можете знайти цю адресу , але насправді це не я шукаю. Цікаво, що відбуваються справжні речі. Наприклад, чому цикли отримують менше часу тощо.

2
Прискорення погано написаних прикладів Р.
Приклади Джулії для порівняння продуктивності проти Р видаються особливо заплутаними . https://github.com/JuliaLang/julia/blob/master/test/perf/perf.R Яку найшвидшу продуктивність ви можете отримати з двох наведених нижче алгоритмів (бажано з поясненням того, що ви змінили, щоб зробити його більш схожим на R)? ## mandel mandel = function(z) { c = z maxiter = 80 for …
77 r  optimization  julia 

2
Тимчасові таблиці PostgreSQL
Мені потрібно виконати запит 2,5 мільйона разів. Цей запит генерує кілька рядків, які мені потрібні, AVG(column)а потім використовує це AVGдля фільтрації таблиці з усіх значень нижче середнього. Потім мені потрібно INSERTці відфільтровані результати подати у таблицю. Здається, єдиний спосіб зробити це з розумною ефективністю - це створити TEMPORARY TABLEдля кожного …

14
Де я можу знайти стандартну реалізацію карт на основі Trie в Java? [зачинено]
Зачинено. Це питання не відповідає вимогам щодо переповнення стека . Наразі відповіді не приймаються. Хочете покращити це питання? Оновіть питання, щоб воно було актуальним для переповнення стека. Закрито минулого місяця . Удосконалюйте це питання У мене є програма Java, яка зберігає багато зіставлення з рядків на різні об’єкти. Зараз я …

4
> проти> = у сортуванні міхурів спричиняє значну різницю в продуктивності
Я просто щось натрапив. Спочатку я думав, що це може бути випадком непередбачення гілок, як у цьому випадку , але я не можу пояснити, чому непередбачення гілок повинно спричинити таку поведінку. Я реалізував дві версії Bubble Sort на Java і провів тестування продуктивності: import java.util.Random; public class BubbleSortAnnomaly { public …

8
Найшвидший спосіб розмістити вміст Set <String> в одному рядку зі словами, розділеними пробілами?
У мене є кілька Set&lt;String&gt;s, і я хочу перетворити кожну з них в одну, Stringде кожен елемент оригіналу Setвідокремлений пробілом "". Перший наївний підхід робить це так Set&lt;String&gt; set_1; Set&lt;String&gt; set_2; StringBuilder builder = new StringBuilder(); for (String str : set_1) { builder.append(str).append(" "); } this.string_1 = builder.toString(); builder = …


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.