Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.03.2009, 12:57   #1
SibBear
Пользователь
 
Регистрация: 11.05.2008
Сообщений: 62
Вопрос Как ускорить работу программы

Глядя на примеры возник вопрос

к примеру в программе 10 раз достается значение Edit1.text

Что лучше:
задать
Код:
a:=Edit1.Text;
Label1.caption:=a;
....
writeln(..,a)
 и еще много обращений к а
...
или
Код:
Label1.caption:=Edit1.Text;
....
writeln(..,Edit1.Text);
 и еще много обращений к Edit1.Text;
...
в каком случае программа работает быстрее и потребляет меньше ресурсов?
SibBear вне форума
Старый 26.03.2009, 14:21   #2
fbus
Форумчанин
 
Аватар для fbus
 
Регистрация: 23.10.2008
Сообщений: 460
По умолчанию

однозначно в первом
fbus вне форума
Старый 26.03.2009, 14:40   #3
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

1 вариант быстрее. Ты сам посуди, когда значение написано в локальной(глобальной, чуть медленнее) переменной, то его использование сводиться к нахождению места в памяти и считывания оттуда. Во втором случае, ищется форма(аналогично как для переменной), потом поиск Edit'a, потом в куче его полей - поле Text и наконец забираем этот текст.
Hollander вне форума
Старый 26.03.2009, 18:51   #4
SibBear
Пользователь
 
Регистрация: 11.05.2008
Сообщений: 62
По умолчанию

Спасибо! пошел переписывать программу
SibBear вне форума
Старый 26.03.2009, 19:13   #5
Роман Радер
Форумчанин
 
Аватар для Роман Радер
 
Регистрация: 16.12.2006
Сообщений: 859
По умолчанию

Цитата:
Сообщение от SibBear Посмотреть сообщение
Спасибо! пошел переписывать программу
имхо будет не намного быстрее, из-за чего нужно переписывать программу.
Роман Радер вне форума
Старый 26.03.2009, 21:21   #6
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Вот-вот, невооружённым глазом тут разницу вряд-ли заметишь
пыщь
JTG вне форума
Старый 26.03.2009, 23:07   #7
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от SibBear Посмотреть сообщение
в каком случае программа работает быстрее и потребляет меньше ресурсов?
Первый код не просто быстрее (и это важно, а то многие разработчики откровенно борзеют, перекладывая всё на аппаратуру), он еще и более универсальный - если, например, потребуется взять значение не с Edit1, а с Edit20 или как-то изменить текст, то это достаточно будет сделать только в одном месте, а не в десяти разных.
Так что имеет смысл изменить программу в этом направлении.
Jeni вне форума
Старый 27.03.2009, 14:40   #8
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
невооружённым глазом тут разницу вряд-ли заметишь
Ну смотря насколько много "обращений к а"...
Я как-то делал программу, там примерно таких же "обращений" было миллионы раз в секунду.....
Тогда получилось очень заметно...

цЫтатко:
Цитата:
Вызов объекта сбивает оптимизатор дельфи. Лучше завести переменную Width:=Bitmap.Width-1 и ее использовать.
В общем, вариант №1 лучше...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите ускорить работу программы... Pashtet Паскаль, Turbo Pascal, PascalABC.NET 5 25.11.2008 22:12
Как ускорить работу с сетевой БД Ramires БД в Delphi 3 21.08.2008 12:16
Как ускорить загрузку битмапа в tImage Altera Мультимедиа в Delphi 10 24.03.2008 17:39
Как ускорить выполнение макросов tat-besidovska Microsoft Office Excel 1 22.01.2008 12:12
Помогите пожалуйста ускорить работу по реконструкции моста Геодезистка Помощь студентам 10 07.10.2007 00:05