Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как ускорить быстродействие вашей программы?

Программирование
Анонимный вопрос
  · 6,5 K
Представитель хостинг-провайдера Eternalhost. Отвечаю на вопросы про хостинг, виртуальные...  · 11 мая 2022
Очень сложный вопрос с большим числом вариантом ответов в зависимости от конкретной ситуации (как правильно было замечено ранее, тут впору книгу читать)).
Если отвечать в максимально упрощенном виде, то работа по ускорению быстродействия программ проходит по следующей схеме:
  1. Профилирование. Чтобы ускорить программу, нужно сперва найти сами узкие места (или, если угодно, точки роста), доработкой которых можно добиться такого ускорения. На этом же шаге можно понять — возможно ли ускорение в принципе. Например, если «узким местом» стал не зависящий от вас внешний сервис, то ускорение вряд ли возможно, а если базы данных, то можно смело приниматься за работу.
  2. Оптимизация. Если речь о ПО, то ускорения вернее всего можно добиться доработкой «узких мест» непосредственно программного кода. 
  3. Масштабирование. Этот метод оптимизации применим к веб-сервисами. Тут важно понять какое масштабирование проводить — горизонтальное или вертикальное. Если провести более понятную аналогию, то при задаче повысить эффективность перевозки грузов, в горизонтальном масштабировании мы даем одному грузчику дополнительные инструменты — тележку или даже автоматизированный погрузчик, а в вертикальном — нанимаем больше грузчиков.
Просто о настройках и администрировании сайта в нашем блоге.Перейти на eternalhost.net/blog
1 эксперт согласен
Пишу код и т.п.  · 11 мая 2022  · itustinov.ru
Есть многотомник Кнута, посвящённый исключительно этой теме. Его, правда, мало кто читал. Книга написана скорее языком математиков, чем программистов, так что она парадоксально очень сложна для понимания как раз теми, для кого написана. Можно найти объяснения распространённых алгоритмов в более удобной форме на различных сайтах или в книгах. Если для какой-то задачи нет... Читать далее
1 эксперт согласен
Веб-разработчик, геймер, специалист по этике  · 11 мая 2022
Вопрос на миллион! Целые полки книг написаны на тему performance, в самых разных языковых средах, люди на конференциях выступают с докладами на эту тему. Если обобщить ответ на этот вопрос так же, как вы обобщили сам этот вопрос - не упоминая ни сам алгоритм работы программы, ни аппаратуру, на которой программа должна выполняться, ни её архитектуру, ни пользовательский... Читать далее
Математика физика история   · 11 мая 2022
Выбрать адекватный язык. Оптимизировать внутренние цыклы. В бытность работы на Кулоне1 я поступал так. Писал программу на Си. Транслировал в ассемблер. Оптимизировал полученный код.
Сейчас компьютеры многопроцессорные, значит нужно распаралелить алгоритм, чтобы загрузить все процессоры.
1 эксперт согласен
Коротко, и в 2022 году уже крайне сложно ассемблировать вручную лучше компилятора, но в целом всё правильно. "цикл... Читать дальше