2010-05-21 2 views
1

우리는 Flex AS3 응용 프로그램을 최적화하는 중입니다.Flex AS3 : 더 작은 변수 이름이 더 긴 이름보다 빠릅니까?

내 팀원 중 한 명이 변수 이름 길이를 더 작게 만들어 응용 프로그램 성능을 최적화 할 것을 제안했습니다. 이 사실은

즉 :

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

인가?

+0

을 읽을 수 있어요 그래서 아무 차이가있는 경우, 컴파일러에 의해 지정 레지스터인가? –

+0

우리는 몇 가지 수준의 최적화 작업을 수행했습니다. 우리는 알고 싶습니다. 차이가 있습니까? – Lalit

답변

8

아니요, 얻을 수있는 이득은 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 specification

+0

avm 링크가 손상되었습니다. swf에는 매개 변수 이름이 포함되어 있기 때문에 프로그램에 어떤 영향을 미칠 수 있습니다. 그들은 이것이 확실히 swf의 크기에 영향을 미칩니다. –

+0

그들은 속도가 아니라, 내가 말했던 것처럼 크기에 영향을 미치지 만, 풀에 저장되지만 프로그램에서는 그 풀로 색인으로 간주됩니다. 사양에 대한 새로운 링크 : http://www.adobe.com/content/dam/Adobe/en/devnet/actionscript/articles/avm2overview.pdf – Patrick

0

성능이 매우 낮지 만 나중에이 응용 프로그램을 다시 사용할 계획이라면 그만한 가치는 없습니다. 이 이전에 할 수있는 다른 최적화를 절대적으로 수행하십시오. 최적화가 필요할만큼 느린 경우에는 변수 이름 앞에 먼저 신경 써야 할 다른 요소가 반드시 있어야합니다.

1 ~ 2 밀리 초의 부스트를 사용하기 전에 가능한 다른 것을 잘라냅니다.

+0

그게 인상적이라면. – Puppy

0

옙 .. 나는 두 번째입니다. 이름 길이를 바꾸면 너를 도울 수 없어. 항목 렌더러, 효과, 상태 및 전환에 집중하십시오. 그것들은 당신의 자원을 죽일지도 모른다. 또한 모든 최종 이미지 swf 파일 크기가 증가하고 초기로드 시간이 늘어날 것이므로 포함 이미지, 포함 글꼴 등을 체크 아웃해야합니다.

환호, PK

0

나는 그렇게 생각하지 않습니다는 방법 당신은 당신의 변수 이름의 길이보다 중요합니까 사용합니다.

좋은 코드가 일관되어야합니다. 이것이 변수와 함수의 이름에 대한 규칙을 설정하거나, 표준 접근 방식을 채택하거나, 모든 코드가 동일한 방식으로 들여 쓰기되도록하는 것을 의미하는지 여부에 관계없이 일관성은 코드를 다른 사람들이 쉽게 읽을 수있게합니다.

나중에 변수 이름이 무엇인지 선언해야합니다.

var g:String; 
var gang:String; 

두 가지 모두 동일한 작업을 수행하므로 코드를 통과하는 사람이이 코드를 해석하는 것이 더 읽기 쉽습니다.

0

Matchu가 말했듯이, 차이는 있지만 작은 것이 있습니다.

감각없는 단순한 문자를 사용하는 대신 의미있는 ID를 변수에 할당하는 것을 고려해야합니다.

관련 문제