Тест скоростных характеристик некоторых компонентов в Delphi
MostInfo.net (http://mostinfo.net/article/9/81.htm)

Как-то на досуге написал программку для подсчета количества счастливых билетиков. Для тех, кто не в курсе - это вроде шутка такая, дают тебе в...
 
http://delphid.dax.ru
winsov.ru
26-05-2004
 

Как-то на досуге написал программку для подсчета количества счастливых билетиков. Для тех, кто не в курсе - это вроде шутка такая, дают тебе в автобусе билет. Там шесть цифр, если сумма первой тройки цифр совпадает со второй, значит, билетик считается счастливым. В общем, это не важно, а важно то, что когда я стал всякие украшательства вешать, всякие там ProgressBar, вывод результатов в Memo и т.д. скорость подсчета значительно упала. И решил я все это потестить отдельно, вот что получилось.

Тест 1

в процессе проверки:
- Real-Time вывод кол-ва счастливых билетиков(СБ)
- работает Progressbar.
- работает вывод номеров СБ в RichEdit.
- Application.ProcessMessages;

 Время подсчета 123456 билетов: 15.658 

Тест 2

для наглядности список возможностей программы сохранен, но отключенные возможности закоментированы.

в процессе проверки:
//- Real-Time вывод кол-ва СБ.
- работает Progressbar.
//- работает вывод номеров СБ в RichEdit.
//- Application.ProcessMessages;

Время подсчета 123456 билетов: 8.435

Тест 3

в процессе проверки:
//- Real-Time вывод кол-ва СБ.
//- работает Progressbar.
- работает вывод номеров СБ в RichEdit.
- Application.ProcessMessages;

Время подсчета 123456 билетов: 4.977 


Тест 4

в процессе проверки:
- Real-Time вывод кол-ва СБ.
//- работает Progressbar.
//- работает вывод номеров СБ в RichEdit.
- Application.ProcessMessages;

Время подсчета 123456 билетов: 1.065

Тест 5

в процессе проверки:
//- Real-Time вывод кол-ва СБ.
//- работает Progressbar.
//- работает вывод номеров СБ в RichEdit.
//- Application.ProcessMessages;

Время подсчета 123456 билетов: 0.04 

Тест 6

в процессе проверки:
//- Real-Time вывод кол-ва СБ.
//- работает Progressbar.
//- работает вывод номеров СБ в RichEdit.
//- Application.ProcessMessages;
- Вместо ProgressBar был использован Gauge

Время подсчета 123456 билетов: 0.101

Вывод: прежде чем собачить в процесс какой-нибудь лишний финт, лучше сначала подумать нужен ли он вам...:)



Оригинал статьи находится по адресу http://mostinfo.net/article/9/81.htm