28Оптимизация скорости работы приложения
Основной способ оптимизации скорости работы ― это оптимизация кода приложения. При этом желательно прислушаться к рекомендациям разработчиков Visual Basic 6. Избегайте переменных типа variant и присваивайте соответствующие их применению типы. При использовании в выражениях переменных типа Variant теряется время на их приведение к конкретному типу в соответствии с типом выражения. Причем, необходимо иметь в виду, что при множественном описании ключевые слова As Type относятся только к одной переменной, то есть Dim А, в, с As String означает, что А и В― переменные типа variant (по умолчанию) и только с ― строковая. В этом случае лучше написать Dim A As string, в As String, с As string. Используйте для арифметических вычслений переменные типа Long или Integer, поскольку они, в отличие от currency, single или Double, более всего соответствуют машинному коду. В табл. 10.4 приведено ранжирование по относительной скорости типов переменных при арифметических вычслениях.
Таблица 10.4. Относительная скорость вычсления для типов переменных
-
Тип переменной
Относительная скорость
Long
Самая высокая скорость
Integer
Ниже чем у Long
Byte
Ниже чем у Integer
Single
Ниже чем у Byte
Double
Ниже чем у Single
Currency
Самая низкая скорость
Назначайте часто используемое свойство объекта в переменные, так как назначение и чтение переменных работает быстрее (от 10 до 20 раз). Для сравнения приведены два прима с двумя вариантами текста кода, при этом второй вариант кода более быстрый, чем первый, и в том и в другом приме.
1. Первый прим.
Первый вариант кода:
For nCounter = 1 То 20
Object(nCounter).Property = ObjectDef.Property
Next nCounter
Второй вариант кода:
valProperty = ObjectDef.Property For nCounter = 1 To 20
Object(nCounter).Property = valProperty
Next nCounter
2. Второй прим.
29VB. Оптимизация размера приложения.При оптимизации размера приложения под размером будем понимать как размер исполняемого файла, так и размер загруженного в память приложения. Особенно критичным размер является для приложений, работающих в сети Internet. Поэтому такие приложения следует делать как можно меньшего размера. Если это не получается, можно разделить большое приложение на несколько небольших, которые будут выполнять законченные функции и загружаться по мере необходимости. Частичную оптимизацию размера кода выполняет сам Visual Basic 6. При компиляции приложения в исполняемый файл пустые строки и строки комментариев пропускаются, поэтому на них можно не экономить. В том чсле можно не экономить на длине имен идентификаторов, которые также оптимизируются компилятором. Для оптимизации размера кода подойдут такие основные рекомендации:
уменьшайте кол-во загруженных форм. Для форм, которые закрываются, применяйте оператор: set Form = Nothing;
уменьшайте в формах, насколько это возможно, кол-во элементов управления. При этом лучше пользоваться массивами элементов управления;
для вывода тестовых значений максимально используйте объекты Label
вместо TextBox;
для хранения данных используйте файл ресурсов и загружайте данные только при необходимости;
избегайте переменных типа variant, требующих 16 байт для хранения. Для сравнения переменные типа integer требуют 2 байта, переменные типа Double ― 8 байт;
избегайте "мертвого" кода ― то есть процедур и переменных, которые когда-то требовались, но в настоящее время не используются. Их надо удалить или закомментировать.