ребования к хорошему методу
Что отличает хороший метод от плохого? Когда мы в 1999 г. запустили проект hotsos.com, я потратил кучу времени на выявление неэффективности существующих методик увеличения производительности Oracle. Это оказалось интересным занятием. После долгого изучения мы с коллегами смогли составить перечень объективно измеримых критериев, позволяющих определить, что хорошо в методе и что в нем плохо. Мы надеялись, что такой список послужит некой системой координат, в которой можно будет измерить эффективность наших усилий по усовершенствованию метода. Вот этот список признаков, которые, я надеюсь, отличают хорошие методы от плохих:
Действенность
Если есть возможность повышения производительности, метод должен обеспечивать это повышение. Нельзя допускать, чтобы мероприятия по повышению производительности требовали значительных вложений, давая конечному пользователю незначительный или отрицательный результат.
Эффективность
Метод всегда должен обеспечивать повышение производительности с наименьшими возможными затратами. Метод не может считаться оптимальным, если существует другой метод, дающий удовлетворительный результат при меньших расходах за такое же или меньшее время.
Измеримость
Эффект повышения производительности должен быть выражен величинами, принятыми в бизнесе. Результаты измерений производительности не представляют интереса, если они выражены в технических единицах, не отражающих прироста движения денежных потоков, чистой прибыли или возврата инвестиций.
Прогнозируемость
Метод должен позволять аналитику прогнозировать результат предполагаемого воздействия. Прогноз должен оперировать теми же единицами измерения, в которых будут оцениваться результаты повышения производительности с точки зрения бизнеса.
Достоверность
Метод должен верно идентифицировать первопричину проблемы независимо от источника ее возникновения.
Детерминизм
Метод должен предоставлять аналитику однозначно определенную последовательность шагов, основанную на документированных постулатах, а не на опыте или интуиции. Недопустимо, чтобы один и тот же метод привел двух специалистов к разным выводам относительно причин недостаточной производительности.
Конечность
Метод должен содержать четко определенное условие завершения, например, доказательство оптимальности.
Практичность
Метод должен быть применим в любых разумных рабочих условиях. В частности, нельзя считать удовлетворительным метод, основанный на применении инструментов, существующих не на всех вычислительных платформах.
Метод C ни в малейшей степени не соответствует ни одному из восьми перечисленных показателей качества. Я больше не стану распространяться на эту тему, просто проверьте прямо сейчас, насколько применяемый вами метод повышения производительности соответствует перечисленным критериям. Результат анализа может побудить вас к действию. Надеюсь, после прочтения первой части книги вы вернетесь к этому списку, чтобы проверить, сколько дополнительных очков вы набрали благодаря прочитанному.
< Предыдущая | Следующая > |
---|