2011-01-29 4 views
0

특정 구성 가능한 복잡한 비즈니스 로직 규칙 세트에 대해 AS3 코드를 생성해야하는지 또는이를 데이터로 표현해야하며 AS3에 상태 시스템을 작성하여 해석해야하는지 결정하려고합니다. .AS3 소스 코드 엔트로피

목표는 컴파일 된 swf 크기를 최소화하는 것입니다. 속도는 문제가되지 않습니다. 구현 복잡성도 문제가되지 않습니다. (. 두 과정의 합리적인 범위 내에서)

나는 충분한 세부 사항을 공개 할 수 없습니다, 그리고 내가 아마 대신에 묻는 실험을한다는 것을 이해하지만, 내 질문은 :

AS3의 평균 압축 비율 무엇입니까 swf로 컴파일 될 때 소스? 소스 코드의 킬로바이트 당 swf는 얼마나됩니까?

는 (I 완벽하게 대답은 기껏해야 매우 거친 모습을 것이라고 이해합니다.)

답변

0

는 대부분의 데이터 방식 또는 중 하나를 이동하여 상대적인 이득을 지울 수 있도록 SWF 파일이 이미 압축 ZLIB 것을 기억하십시오 코드 방식.

초기로드 속도가 진행되는 경우 코드 조각을 항상 제외하고 다른 SWF 파일에서 필요할 때로드 할 수 있습니다. 컴파일 된 SWF에 대한

+0

아니요, 크기 및 크기 만 지정합니다. 어쨌든, 코드의 비율은 무엇입니까? –

1

몇 가지 사실 :

  • 클래스 이름은
  • 멤버 이름이
  • 지역 변수 이름은
  • 의견을 유지되지 않습니다 및 공백
을 제거하는 보존 보존

그래서 비율은 식별자, 주석 및 탭 또는 공백 기본 설정의 길이에 따라 달라집니다. 클래스 이름을 A0, A1 등으로 대체하는 obfuscator를 통해 결과 SWF를 실행하는 경우 일부 바이트를 저장해야합니다.

상태 머신 아이디어가 가장 유망한 것 같습니다. 코드는 한 번 작성되고 규칙은 간결하게 작성할 수 있습니다. 작은 숫자를 하나의 int에 팩할 수 있다면 더 좋을 것입니다 (4 바이트 int 및 uint보다 작은 AS3에는 정수가 없습니다).

+0

음,하지만 컴파일 된 코드는 zlib로 압축되어 있습니다 ... 내 상태 머신 데이터가 컴파일 된 코드보다 압축률이 더 좋을 지 말하기 어렵습니다. 이것이 내가 숫자를 요구하는 이유입니다 ... –

+0

글쎄, 왜 실험하지? 몇 가지 함수와 측정 바이트를 추가하십시오. 하드 또는 '우측'비율은 존재하지 않으며, 어쨌든 자신의 숫자가 필요합니다. – alxx