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

Питання, що стосуються підвищення продуктивності програми, можуть бути від діапазону архітектури програмного забезпечення до вибору алгоритмів.

9
Як боротися з хибними уявленнями про "передчасна оптимізація - корінь усього зла"?
Я стикався з багатьма людьми, які догматично проти чогось, що можна вважати оптимізацією в загальному англомовному розумінні цього слова, і вони дуже часто цитують дослівно (часткову) цитату "передчасна оптимізація - корінь усього зла" як виправдання їхньої позиції, маючи на увазі те, що вони тлумачать все, про що я говорю, "передчасну …

2
Які смислові особливості Python (та інших динамічних мов) сприяють його повільності?
Я не дуже добре знаю Python. Я намагаюся зрозуміти точніше, які саме особливості динамічних мов (à la Python, Lua, Scheme, Perl, Ruby, ....) змушують їх реалізацію бути повільними. Як конкретний випадок, металообробна техніка Lua 5.3 інтуїтивно зробить Lua досить повільною, але на практиці, як чують , Lua досить швидкий (і …

5
Кілька доступів до бази даних або один масовий доступ?
Що є кращим підходом щодо продуктивності та оптимального використання ресурсів: багаторазовий доступ до бази даних через AJAX, щоб отримати точну інформацію, необхідну лише тоді, коли вона потрібна, або здійснення одного доступу для отримання об'єкта, який містить всю інформацію, яка може знадобитися , з великою ймовірністю того, що насправді не все …
25 performance  sql 

6
Чому команда LMAX використовувала Java та проектувала архітектуру, щоб уникнути GC будь-якою ціною?
Чому команда LMAX спроектувала диспетчер LMAX на Java, але всі їхні проекти вказують на мінімізацію використання GC? Якщо хтось не хоче запускати GC, то навіщо використовувати мову зібраного сміття? Їх оптимізація, рівень апаратних знань та думка, яку вони викладають, просто приголомшливі, але чому Java? Я не проти Java чи нічого, …

4
Дизайн, орієнтований на дані - недоцільно з більш ніж 1-2 членами структури?
Звичайний приклад дизайну, орієнтованого на дані, має структуру кулі: struct Ball { float Radius; float XYZ[3]; }; а потім вони складають деякий алгоритм, який ітералізує std::vector<Ball>вектор. Тоді вони дають вам те саме, але реалізовано в дизайні, орієнтованому на дані: struct Balls { std::vector<float> Radiuses; std::vector<XYZ[3]> XYZs; }; Що добре, і …

4
Наскільки погано викликати println () часто, ніж об'єднувати рядки разом і викликати його один раз?
Це питання було переміщено з коду обміну стека коду, оскільки на нього можна відповісти на програмі обміну стеками програмного забезпечення. Мігрували 5 років тому . Я знаю, що вихід на консоль - це дорога операція. В інтересах читабельності коду іноді приємно викликати функцію для виведення тексту двічі, а не мати …
23 java  c++  performance  c  io 

4
Як значно покращити продуктивність Java?
Команда в LMAX представила презентацію про те, як вони змогли зробити 100 к.с. / с при затримці менше 1 мс . Вони підкріпили цю презентацію блогом , технічним документом (PDF) та самим вихідним кодом . Нещодавно Мартін Фаулер опублікував чудовий документ про архітектуру LMAX і згадує, що тепер вони здатні …

7
Чи стосується гниття програмного забезпечення насамперед продуктивність чи безладний код?
Визначення Вікіпедії з програмного забезпечення гнилі фокусується на продуктивності програмного забезпечення. Це інше використання, ніж я звик; Я думав про це набагато більше з точки зору чистоти та дизайну коду - з точки зору того, що код має всі стандартні характеристики якості: читабельність, ремонтопридатність тощо. Тепер, швидше за все, продуктивність …

10
Як я можу уникати інтуїції з поганою оптимізацією розробника?
Я бачив у статті, яка виклала це твердження: Розробники люблять оптимізувати код і з розумною причиною. Це так ситно і весело. Але знати, коли оптимізувати - це набагато важливіше. На жаль, розробники зазвичай мають жахливу інтуїцію щодо того, де насправді будуть проблеми з продуктивністю в додатку. Як розробник може уникнути …
22 java  performance 

11
Чи іноді код з низькою затримкою повинен бути "некрасивим"?
(Це в основному спрямовано на тих, хто має специфічні знання про системи із низькою затримкою, щоб уникнути відповіді людей просто необґрунтованими думками). Чи вважаєте ви, що існує компроміс між написанням «приємного» об'єктно-орієнтованого коду та написанням дуже швидкого коду з низькою затримкою? Наприклад, уникаючи віртуальних функцій у C ++ / накладних …
21 java  c++  c  performance  latency 

16
Які прості методи ви використовуєте для підвищення продуктивності?
Я говорю про те, як ми пишемо прості підпрограми з метою поліпшення продуктивності, не ускладнюючи читання вашого коду ... наприклад, це типове для ми дізналися: for(int i = 0; i < collection.length(); i++ ){ // stuff here } Але я зазвичай роблю це, коли а foreachне застосовується: for(int i = …

6
Загалом, чи варто використовувати віртуальні функції, щоб уникнути розгалуження?
Здається, є приблизні еквіваленти інструкцій, що прирівнюються до вартості гілки пропуску, віртуальні функції мають аналогічний компроміс: інструкція проти пропуску кеш даних оптимізаційний бар'єр Якщо ви дивитесь на щось подібне: if (x==1) { p->do1(); } else if (x==2) { p->do2(); } else if (x==3) { p->do3(); } ... Ви можете мати …
21 c++  performance 

10
Коли краще оптимізувати програмне забезпечення для кращої продуктивності на початку або в кінці розробки?
Я молодший розробник програмного забезпечення, і мені було цікаво, коли б найкращий час оптимізувати програмне забезпечення для кращої продуктивності (швидкості). Якщо припустити, що програмне забезпечення не є надзвичайно великим і складним в управлінні, чи краще витрачати більше часу на його оптимізацію чи слід просто розробити програмне забезпечення, яке виконує всі …

2
Як я можу відокремити інтерфейс користувача від ділової логіки, зберігаючи ефективність?
Скажімо, я хочу показати комбінацію форми, яка представляє 10 різних об'єктів. Наприклад, я хочу, щоб користувач обрав один гамбургер з 10 різних, які містять помідори. Оскільки я хочу відокремити інтерфейс користувача та логіку, мені доведеться передати форму рядкового подання гамбургерів, щоб відобразити їх у комбобоксі. В іншому випадку користувальницькому інтерфейсу …

3
Чому вираження обчислень як матричне множення робить їх швидшими?
У підручнику MNist від Google за допомогою TensorFlow викладається обчислення, в якому один крок еквівалентний множенню матриці на вектор. Google спочатку показує малюнок, на якому кожне числове множення та додавання, яке б вдалося виконати обчислення, виписується повністю. Далі вони показують малюнок, на якому він замість цього виражається як матричне множення, …

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