" title="Написать письмо">Написать письмо

Статистика

Пользователи : 1
Статьи : 1936
Просмотры материалов : 7053846
 
Некоторые методы оптимизации скорости программ на VB и VBA (18.06.2013). Печать E-mail
2013 - Июнь
18.06.2013 20:15
Save & Share
Изучая опубликованные методы оптимизации кода от Франциско Балена (декабрь 1997 года, журнал неизвестен), выделил рациональные методы на сегодняшний день. Применимо к VB и VBA; но есть и явления, от языка не зависящие:

- где возможно, преобразовать Double в Long. Но Double - это прежде всего точность;
- намного быстрее обращаться к переменной, чем к элементу на форме;
- не использовать строки фиксированной длины;
- Boolean в операциях сравнения работает быстрее;
- использование ASCII-кода при сравнении намного быстрее использования самого символа, заключенного в кавычки;
- всегда сбрасывать форму в Nothing после ее выгрузки: полное освобождение памяти от ее ресурсов и правильная инициализация при последующем вызове;
- сделать элемент невидимым, сделать необходимые операции, сделать его видимым. Такой алгоритм предотвратит его повторные перерисовывания и моргание;
- функция DoEvents используется для обновления окна программы при выполнении больших циклов. Но сильно замедляет работу цикла, рекомендуется ее вызывать через каждые 100-1000 проходов цикла, а то и реже;
- аргументы Integer и Long в процедурах будут передаваться быстрее при объявлении ByVal, остальные нужно передавать ByRef (по умолчанию), особенно - строковые значения;
- стандартный блок If с Else всегда быстрее, чем ElseIf, iIf;
- для реализации задержки в программе нужно использовать API-функцию Sleep;
- директива With работает быстрее за счету уменьшения числа точек в строках;
- переменные типа Public всегда быстрее свойств Let/Get;
- для перебора коллекций For Each быстрее For примерно в 10 раз.
Обновлено ( 23.06.2020 18:33 )
 
 

Последние новости


©2008-2024. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).

Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Открыта карта ВТБ для донатов на дорогостоящие эксперименты: 5368 2902 0040 0838.

Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
Top.Mail.Ru