КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Итерация
Оценка производительности Относительное быстродействие распространенных операций Частые причины снижения эффективности Заблуждения об оптимизации кода Принцип Парето Введение в оптимизацию кода Оптимизация кода Оборудование Компиляция кода Иногда правильный выбор компилятора позволяет забыть об оптимизации кода. Иногда самым выгодным и эффективным способом повышения производительности программы является покупка нового оборудования. Оптимизацией кода (code tuning) называют изменение корректного кода, направленное на повышение его эффективности. Это не самый эффективный способ повышения производительности. Овладение мастерством написания эффективного кода — признаком превращения в серьезного программиста. Принцип Парето, что 80% результата можно получить, приложив 20% усилий. Доведите работу до конца и только потом совершенствуйтесь. Сокращение числа строк высокоуровневого кода повышает быстродействие или уменьшает объем итогового машинного кода — НЕВЕРНО! Одни операции, вероятно, выполняются быстрее или компактнее других — НЕВЕРНО! Оптимизацию следует выполнять по мере написания — НЕВЕРНО! Быстродействие программы не менее важно, чем ее корректность — НЕВЕРНО! 3. Где оптимизировать? Операции ввода/вывода. Системные вызовы. Ошибки. Большинство частых операций — в том числе вызовы методов, присваивание, арифметические операции над целыми числами и числами с плавающей запятой — имеет примерно одинаковую цену. Трансцендентные математические функции очень дороги. Вызовы полиморфных методов чуть дороже вызовов других методов. На небольшие фрагменты программы обычно приходится непропорционально большая доля времени ее выполнения, поэтому перед оптимизацией кода вам следует оценить его и найти в нем горячие точки. Обнаружив горячие точки и оптимизировав их, снова оцените код, чтобы узнать, насколько вы его улучшили. Оценка производительности должна быть точной. Опирайтесь на число тактов процессора, выделенных вашей программе, а не на время суток. Методики можно эффективно комбинировать, поэтому даже после обнаружения одного удачного вида оптимизации продолжайте пробовать другие виды. 6. Подход к оптимизации кода: резюме Рассматривая целесообразность оптимизации кода, придерживайтесь следующего алгоритма:
Лекция 13-15 «Тестирование»
Дата добавления: 2014-01-07; Просмотров: 353; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |