Комментарии 39
Ведь разработка нового процессора стоит меньше, чем зарплата программиста.
Код должен быть оптимизирован всегда. А херовый код даже лучший процессор не вытянет.
Код должен
Кому должен?
Я помню очень удивлялся, как на PS3 с ее жалкими 512 (кажется) Мб памяти летали игры, которые лагали на ПК с двумя гигами. Сколько ухищрений, оптимизаций и упрощений запихивали разработчики туда.
Ошибки такого рода больше свойственны начинающим, кто плохо понимает механику работы и кто не умеет пользоваться инструментами замера производительности.
Исправил регулярное выражение, тем самым увеличив скорость комплиляции шаблонов Laravel в 40 раз :)
Лет 5 назад столкнулся с интересной проблемой catastrophic backtracing в regular expressions (статья не моя, просто пример). Это когда визуально вроде всё нормально, и оно даже работает. Но с увеличением длины строки производительность гасится весьма нелинейно. Патч в 1-2 символа. С тех пор стал писать их куда внимательнее :)
Нужно просто разрабатывать на процессоре (пусть даже i9), но на пониженной частоте строго 2-3ghz, а запускать потребителю — на нормальных 4-5ghz. Вот и весь секрет скорости.
Добавил в таблицу индекс, отчёт стал готовиться за 40 секунд вместо 40 минут.
Только что заменил селект из сабселекта из сабселекта, сбор айдишников в цикле по выбранным в первом селекте записям, селект с условием where id in (17000 айдишников собранных в цикле) на селект с одним простым джойном, запрос стал выполняться 15 миллисекунд вместо 35 секунд. Оптимизация в 2000 раз, однако. Апгрейженный из-за перегрузки сервер теперь загружен процентов на 5%, хоть майнер запускай.
Удалил сложный индекс в таблице-снизил число блокировок и увеличил производительность БД
P.S. Читал давно, помню только общий сюжет и найти сходу не смог :(
— А откуда вообще мусор то? Ну поменяли задвижку ну и что?
(случайно забытые гаечные ключи, болты-гайки, ставшие «лишними» я в расчет не беру).
— Так дело в том, что чаще всего именно ключи, гайки и т.д. оттуда и выносятся. Это что, бывало вылавливали фуфайки на фильтрах РГК — почти вход в активную зону.
— Не, это, конечно, мусор, но я думал что такой мусор (болты, ключи) исключен в принципе.Я понимаю что моя наивность не знает границ
Надо знать, где поставить ноль