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

Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
" title="Написать письмо">Написать письмо

Статистика

Пользователи : 1
Статьи : 1240
Просмотры материалов : 4496839
 
Некоторые методы оптимизации скорости программ на VB и VBA (18.06.2013). Печать E-mail
2013 - Июнь
18.06.2013 21: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 раз.
Обновлено ( 21.02.2014 20:50 )
 
 

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


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