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

З питань, що стосуються вимірювання або підвищення ефективності коду та програми.

2
Чому швидше перевірити, чи містить словник ключ, а не виловлювати виняток у випадку, якщо його немає?
Уявіть код: public class obj { // elided } public static Dictionary<string, obj> dict = new Dictionary<string, obj>(); Спосіб 1 public static obj FromDict1(string name) { if (dict.ContainsKey(name)) { return dict[name]; } return null; } Спосіб 2 public static obj FromDict2(string name) { try { return dict[name]; } catch (KeyNotFoundException) …

2
Чому обробка відсортованого масиву відбувається повільніше, ніж несортований масив?
У мене є список 500000 випадково згенерованих Tuple<long,long,string>об'єктів, на яких я здійснюю простий пошук "між": var data = new List<Tuple<long,long,string>>(500000); ... var cnt = data.Count(t => t.Item1 <= x && t.Item2 >= x); Коли я генерую свій випадковий масив і запускаю пошук 100 випадково генерованих значень x, пошук завершується приблизно …

12
Чи вплине використання "var" на ефективність?
Раніше я задавав питання про те, чому я бачу так багато прикладів використання varключового слова, і я отримав відповідь, що хоча це потрібно лише для анонімних типів, він все-таки використовується для того, щоб зробити написання коду "швидшим" ​​/ простішим та "просто тому". Перейшовши за цим посиланням ("C # 3.0 - …
230 c#  performance  variables  var 

4
Чи може використання "авто" C ++ 11 покращити продуктивність?
Я можу зрозуміти, чому autoтип C ++ 11 покращує правильність та ремонтопридатність. Я читав, що це також може покращити продуктивність ( Майже завжди Автоматичний Герб Саттер), але я пропускаю хороше пояснення. Як можна autoпокращити продуктивність? Хтось може навести приклад?
230 c++  performance  c++11  auto 

2
Чому під час циклічного перегляду масиву з 240 і більше елементами великий вплив на продуктивність?
Під час запуску циклу суми над масивом в Rust, я помітив величезний спад продуктивності, коли CAPACITY> = 240. CAPACITY= 239 приблизно в 80 разів швидше. Чи є спеціальна оптимізація компіляції, яку Rust робить для "коротких" масивів? Укладено з rustc -C opt-level=3. use std::time::Instant; const CAPACITY: usize = 240; const IN_LOOPS: …

30
Рекурсія чи ітерація?
Чи є показник ефективності, якщо ми використовуємо цикл замість рекурсії або навпаки в алгоритмах, де обидва можуть служити одній цілі? Наприклад: Перевірте, чи вказаний рядок є паліндром. Я бачив багато програмістів, які використовують рекурсію як засіб, щоб показати, коли простий алгоритм ітерації може відповідати рахунку. Чи грає компілятор життєво важливу …


4
Чому введення непотрібних інструкцій MOV прискорить щільний цикл у зборі x86_64?
Фон: Оптимізуючи деякий код Pascal із вбудованою мовою збірки, я помітив непотрібну MOVінструкцію та видалив її. На мій подив, видалення непотрібної інструкції призвело до уповільнення моєї програми . Я виявив, що додавання довільних, марних MOVінструкцій ще більше підвищує продуктивність . Ефект є нестабільним, і зміни ґрунтуються на порядку виконання: ті …


3
Чому транспортування матриці 512x512 набагато повільніше, ніж транспонування матриці 513x513?
Провівши кілька експериментів на квадратних матрицях різної величини, вийшов візерунок. Незмінно переміщення матриці розміру 2^nвідбувається повільніше, ніж транспонування розміру2^n+1 . Для малих значень n, різниця не є основною. Однак великі відмінності виникають над значенням 512. (принаймні, для мене) Відмова: Я знаю, що функція насправді не переносить матрицю через подвійний підміна …

12
Як Go компілюється так швидко?
Я погуглив і роздумував веб-сайт Go, але, здається, не можу знайти пояснення надзвичайним часом збирання Go. Це продукти мовних особливостей (або їх відсутність), високооптимізований компілятор чи щось інше? Я не намагаюся просувати Go; Мені просто цікаво.


24
String vs. StringBuilder
Я розумію різницю між ( Stringі є змінною), але чи є велика різниця між ними?StringBuilderStringBuilder У програмі, над якою я працюю, є багато доданих рядкових рядків (500+). Чи використовуєте StringBuilderкращий вибір?
215 c#  .net  performance 

13
Чи потрібно використовувати Java String.format (), якщо продуктивність важлива?
Ми повинні будувати рядки весь час для виведення журналу тощо. У версії JDK ми дізналися, коли використовувати StringBuffer(багато додатків, безпечно для потоків) та StringBuilder(багато додатків, не захищених від потоку). Яка порада щодо використання String.format()? Це ефективно чи ми змушені дотримуватися конкатенації для однокласників, де важлива продуктивність? наприклад, потворний старий стиль, …

11
Змінні JavaScript оголошують зовнішній або внутрішній цикл?
В AS3 я вважаю, що ви повинні ініціалізувати всі змінні зовнішні цикли для підвищення продуктивності. Це так і з JavaScript? Що краще / швидше / найкраща практика? var value = 0; for (var i = 0; i < 100; i++) { value = somearray[i]; } або for (var i = …

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