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

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

17
Действительно ли преждевременная оптимизация - корень всего зла?
Мой коллега сегодня создал класс под названием ThreadLocalFormat, который в основном переместил экземпляры классов Java Format в локальный поток, поскольку они не безопасны для потоков и «относительно дороги» в создании. Я написал быстрый тест и рассчитал, что смогу создать 200 000 экземпляров в секунду, спросил его, не создает ли он …

30
Важна ли микрооптимизация при кодировании?
Недавно я задал вопрос о переполнении стека, чтобы выяснить, почему isset () был быстрее, чем strlen () в PHP . Это подняло вопрос о важности читаемого кода и о том, стоит ли даже задумываться об улучшении производительности микросекунд в коде. Мой отец - бывший программист, и я показал ему ответы. …

20
Можно ли заменить оптимизированный код читаемым кодом?
Иногда вы сталкиваетесь с ситуацией, когда вам нужно расширить / улучшить какой-то существующий код. Вы видите, что старый код очень скудный, но его также сложно расширять, и на его чтение требуется время. Это хорошая идея, чтобы заменить его современным кодом? Некоторое время назад мне понравился бережливый подход, но сейчас мне …

14
Когда оптимизация не преждевременна и, следовательно, не является злом?
«Преждевременная оптимизация - корень всего зла» - это то, что почти все мы слышали / читали. Что мне интересно, какая оптимизация не является преждевременной, то есть на каждом этапе разработки программного обеспечения (дизайн высокого уровня, детальный дизайн, реализация высокого уровня, детальная реализация и т. Д.), Какую степень оптимизации мы можем …

19
Почему я должен заботиться о микропроизводительности и эффективности?
Многие вопросы и ответы на страницах C / C ++, конкретно или косвенно обсуждают проблемы микро производительности (такие как издержки косвенной или прямой против встроенной функции), или использование алгоритма O (N 2 ) против O (N log N) на список из 100 предметов. Я всегда пишу код, не заботясь о …

9
В чем смысл правила оптимизации программы 90/10?
Согласно Википедии, правило оптимизации программы 90/10 гласит, что «90% времени выполнения программы тратится на выполнение 10% кода» (см. Второй абзац здесь ). Я действительно не понимаю этого. Что именно это значит? Как можно потратить 90% времени выполнения только на выполнение 10% кода? А как насчет остальных 90% кода? Как они …

10
Чистый читаемый код против быстрого трудно читаемого кода. Когда пересекать черту?
Когда я пишу код, я всегда стараюсь сделать мой код максимально чистым и читабельным. Время от времени наступает момент, когда вам нужно пересечь черту и перейти от красивого чистого кода к более уродливому коду, чтобы сделать его быстрее. Когда это нормально, чтобы пересечь эту линию?

15
Как языки повлияли на дизайн процессора? [закрыто]
Нам часто говорят, что аппаратному обеспечению не важно, на каком языке написана программа, поскольку оно видит только скомпилированный двоичный код, однако это не вся правда. Например, рассмотрим скромный Z80; его расширения к набору команд 8080 включают в себя такие инструкции, как CPIR, которые полезны для сканирования строк в стиле C …

7
При программировании, возможно ли, чтобы загрузка процессора и графического процессора составляла 100%?
Это общий вопрос по теме, которую я нахожу интересной для геймера: узкие места CPU / GPU и программирование. Если я не ошибаюсь, я понял, что и CPU, и GPU вычисляют вещи, но в одних вычислениях это лучше, чем в других из-за разницы в архитектуре. Например, взлом хэшей или майнинг криптовалюты, …

4
Как быстро можно идти?
Go - один из немногих языков, которые должны работать «близко к металлу», то есть он скомпилирован, статически типизирован и выполняет код без изменений, без виртуальной машины. Это должно дать ему преимущество в скорости перед Java, C # и тому подобным. Кажется, однако, что это позади Java (см. Shootout языка программирования …

16
Стоит ли жертвовать читабельностью кода тем, насколько он эффективен? [закрыто]
Стоит ли жертвовать читабельностью кода тем, насколько он эффективен? например, 3 строки кода в 1 строку. Я прочитал в Code Craft Питом Гудлиффом, что читабельность - это ключ. Твои мысли?

4
JIT-компилятор для C, C ++ и тому подобное
Есть ли компилятор точно в срок для скомпилированных языков, таких как C и C ++? (Первые имена, которые приходят на ум, это Clang и LLVM! Но я не думаю, что они в настоящее время поддерживают это.) Объяснение: Я думаю, что программное обеспечение могло бы выиграть от обратной связи профилирования во …

5
Как работает предсказание ветвления, если вам все еще нужно проверить условия?
Я читал популярный ответ о Branch Prediction с /programming//q/11227809/555690 , и меня что-то смущает: Если вы угадали, это продолжается. Если вы догадались, капитан остановится, отступит и закричит на вас, чтобы щелкнуть выключателем. Затем он может перезапустить другой путь. Если вы угадаете каждый раз, поезд никогда не остановится. Если вы слишком …

2
Реализация чистых абстрактных классов и интерфейсов
Хотя это не является обязательным в стандарте C ++, похоже, что GCC, например, реализует родительские классы, в том числе чисто абстрактные, путем включения указателя на v-таблицу для этого абстрактного класса в каждом экземпляре рассматриваемого класса. , Естественно, это увеличивает размер каждого экземпляра этого класса указателем на каждый родительский класс, который …

9
Как бороться с ошибочными представлениями о том, что «преждевременная оптимизация - корень всего зла»?
Я сталкивался со многими людьми, которые догматично настроены против всего, что можно считать «оптимизацией» в общем англоязычном смысле этого слова, и они очень часто цитируют дословно (частичную) цитату «преждевременная оптимизация - корень всего зла». в качестве оправдания своей позиции, подразумевая, что они интерпретируют все, о чем я говорю, как «преждевременную …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.