От чего страдает оптимальность кода
Чтобы улучшить свой код, нужно знать, отчего он может работать медленно, неоправданно расти в размере или иным образом терять качество.
Основные проблемы, которые могут приводить к снижению оптимальности:
❶ Сложность: чем больше работы должен сделать код, тем медленнее он будет выполняться
❷ Повторение: сохраняйте результаты сложных вычислений в буфере, т.к. при каждом повторно выполненном вычислении вы теряете эффективность
❸ Плохой проект: плохое проектирование приводит к плохому коду. Связанные блоки размещайте как можно ближе
❹ Ввод/вывод: старайтесь избегать блокирования выполнения программы в ожидании ввода или вывода данных.
Это далеко не весь список проблем, но он даст представление о том, на что нужно будет обратить внимание в первую очередь, ведь настоящие недоработки кроются в деталях.
#tips #optimisation
Чтобы улучшить свой код, нужно знать, отчего он может работать медленно, неоправданно расти в размере или иным образом терять качество.
Основные проблемы, которые могут приводить к снижению оптимальности:
❶ Сложность: чем больше работы должен сделать код, тем медленнее он будет выполняться
❷ Повторение: сохраняйте результаты сложных вычислений в буфере, т.к. при каждом повторно выполненном вычислении вы теряете эффективность
❸ Плохой проект: плохое проектирование приводит к плохому коду. Связанные блоки размещайте как можно ближе
❹ Ввод/вывод: старайтесь избегать блокирования выполнения программы в ожидании ввода или вывода данных.
Это далеко не весь список проблем, но он даст представление о том, на что нужно будет обратить внимание в первую очередь, ведь настоящие недоработки кроются в деталях.
#tips #optimisation
Страничные ошибки
Пару слов об оптимизации, операция, заставляющая ОС заменять страницы памяти, выполняется гораздо медленнее, чем операция, ограниченная одной страницей памяти.
Проблема в том, что если массив включает слишком много строк, то при каждом обращении к новой строке ОС должна будет заменить страницы памяти. Второй пример использует страничную организацию памяти гораздо эффективнее, т.к. страницы загружаются только MAX_ROWS раз.
#programming #optimisation
Пару слов об оптимизации, операция, заставляющая ОС заменять страницы памяти, выполняется гораздо медленнее, чем операция, ограниченная одной страницей памяти.
Проблема в том, что если массив включает слишком много строк, то при каждом обращении к новой строке ОС должна будет заменить страницы памяти. Второй пример использует страничную организацию памяти гораздо эффективнее, т.к. страницы загружаются только MAX_ROWS раз.
#programming #optimisation
Я тут часто бываю, давайте меня вперёд
Для того чтобы минимизировать количество обработок и оптимизировать логические выражения, помещайте наиболее часто встречающиеся кейсы первее тех, которые встречаются реже.
В приведённом примере буквы обычно встречаются чаще, чем знаки пунктуации, поэтому и проверку на букву необходимо произвести раньше проверки на пунктуацию. Таким образом, код оптимизирован и тратит меньше вычислительных ресурсов.
#programming #optimisation
Для того чтобы минимизировать количество обработок и оптимизировать логические выражения, помещайте наиболее часто встречающиеся кейсы первее тех, которые встречаются реже.
В приведённом примере буквы обычно встречаются чаще, чем знаки пунктуации, поэтому и проверку на букву необходимо произвести раньше проверки на пунктуацию. Таким образом, код оптимизирован и тратит меньше вычислительных ресурсов.
#programming #optimisation