Как-то на досуге написал программку для подсчета количества счастливых билетиков. Для тех, кто не в курсе - это вроде шутка такая, дают тебе в автобусе билет. Там шесть цифр, если сумма первой тройки цифр совпадает со второй, значит, билетик считается счастливым. В общем, это не важно, а важно то, что когда я стал всякие украшательства вешать, всякие там 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
Вывод: прежде чем собачить в процесс какой-нибудь лишний финт, лучше сначала подумать нужен ли он вам...:)