Flex AS3: меньшие имена переменных быстрее, чем длинные? - PullRequest
1 голос
/ 21 мая 2010

Мы находимся в процессе оптимизации приложения Flex AS3.

Один из членов моей команды предложил уменьшить длину имен переменных, чтобы оптимизировать производительность приложения.

т.е:.

var IsRegionSelected:Boolean = false; //Slower
var IsRS:Boolean = false; //faster

Это правда?

Ответы [ 5 ]

8 голосов
/ 21 мая 2010

Нет, вы получите только размер SWF.

Строка помещается в постоянный пул, и для ссылки на эту строку будет использоваться индекс.

это можно увидеть как (очень схематично):

постоянный пул:

[0] IsRegionSelected
[1] IsRS

использование:

value at 0 = false
value at 1 = false

Ваш код, вероятно, будет переведен как (для локальной переменной):

push false
setlocal x

push false
setlocal y

где x and y - регистр int, назначаемый компилятором, поэтому нет разницы, если это register 2 or register 4

Для более детального ознакомления с avm спецификацией

0 голосов
/ 21 мая 2010

Как говорит Матчу, разница есть, но небольшая.

Вам следует рассмотреть возможность назначения значимых идентификаторов вашим переменным, а не просто использовать простые символы, которые не имеют смысла.

0 голосов
/ 21 мая 2010

да .. я второй. изменение длины имени вам не поможет. сосредоточиться на средствах визуализации элементов, эффектах, состояниях и переходах. те могут убивать ваш ресурс. также проверьте наличие встраиваемых изображений, встраиваемых шрифтов и т. д., поскольку они увеличат окончательный размер SWF-файла и увеличат время начальной загрузки.

ура, ПК

0 голосов
/ 21 мая 2010

Я так не думаю, то, как вы используете имя переменной, имеет значение, чем ее длина.

Хороший код должен быть последовательным. Независимо от того, подразумевает ли это установку правил для имен переменных и функций, принятие стандартных подходов или просто обеспечение одинакового отступа всего кода, согласованность облегчает чтение вашего кода для других.

Позже следует понять, как объявлено имя вашей переменной.

var g:String;
var gang:String;

Оба выполняют одну и ту же операцию, одна из них более читабельна, когда кто-то просматривает ваш код и будет его истолковывать.

0 голосов
/ 21 мая 2010

Производительность очень мала, но если вы планируете использовать это приложение позже, это не стоит вашего здравомыслия. Перед этим сделайте абсолютно любую другую оптимизацию, и если она действительно достаточно медленная, чтобы ее оптимизировать, то, безусловно, есть другие факторы, о которых вам нужно позаботиться в первую очередь перед именами переменных.

Отрежьте все, что можете, прежде чем прибегнуть к 1-2-миллисекундным повышениям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...