Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.02.2017, 20:30
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 559
Версия Delphi: XE5
Репутация: 18
Восклицание Как определить нагрузку или ...

Ребята добрый день
хоть и знаком с дельфи но на нем очень мало программ написал в основном для упрощения своей же работы.

Хочу перейти на него уже на серьезно и хотелось бы узнать - как определить какой код грузит процессор больше а какой мало - другими словами как это определить правильный код

пример недавно экспериментировал с CANVAS и в итоге на форме все лейблы нарисовал на канвасе а сами компоненты не стал использовать на размер приложения это не реагировал а вот со стороны эффективности
как я могу сейчас определить хорошо это или плохо? снизилась ли нагрузка на процессор.

понятное дело скоро 22 век - просто хотелось бы углубится во все это.

Буду признателен за любой совет.
__________________
Нет ничего не возможного. Вопрос только во времени...
Ответить с цитированием
  #2  
Старый 01.02.2017, 21:34
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, в принципе, при ручной отрисовке можно с'экономить чуть-чуть, а можно и потерять. При этом ты скорее всего просто повторишь то, что уже сделано в библиотеке. И не факт, что сделаешь лучше (про СИЛЬНО лучше я уж вообще не говорю).
С другой стороны, для таких простых вещей мощности современных процессоров более чем достаточно, так что смысла в такой "оптимизации" просто нет.
Кстати, была интересная история. Знакомый делал домашний проект, где много математики. Там была функция, связанная с возведением в квадрат больших чисел. Фактически, она была чуть ли не центральной во всем расчете. Начали ее пытаться оптимизировать. Даже переписали полностью на асме, убрав все возможные проверки. Выиграли 1-2% по производительности (кстати, полный расчет шел порядка суток на не самом слабом на то время проце). В один день знакомый приходит и говорит, что смог убыстрить расчет на треть. Оказалось - он математически доказал, что некоторые числа можно сразу исключить из рассмотрения. Т.е. оптимизация АЛГОРИТМА дает гораздо больший эффект, чем оптимизация кода.
На эту тему могу привести еще один пример. Где то в интернете есть сайт, на котором есть разные задачки по программированию с автоматической проверкой. Была там задача вида:
"Для упорядлчивания команд по убыванию результата применялся алгоритм сотрировки пузырьком. При росте числа комманд скорость сортировки стала недостаточной. Надо реализовать новый алгоритм сотрировки, дающий такой же результат, но работающий быстрее". Там еще доп. описание условий. Привожу по памяти.
Суть как раз в том, что надо было полностью поменят алгоритм, т.к. никакие оптимизации существующего в заданные временные рамки работы не укладывались.

Короче, вывод. Не надо оптимизировать то, что и так работает достаточно хорошо. Пишешь программу, потом гоняешь ее на данных и, если где-то что-то "тормозит", то тогда, И ТОЛЬКО ТОГДА, ищешь "бутылочное горлышко" и оптимизируешь эту часть кода.
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
Electronic_Arts (02.02.2017)
  #3  
Старый 02.02.2017, 21:20
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 559
Версия Delphi: XE5
Репутация: 18
Хорошо

lmikle спасибо огромное тебе - ты не раз мне помогал мне тут. Советы буду иметь ввиду.
__________________
Нет ничего не возможного. Вопрос только во времени...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:13.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter