Package-Internal vs. Package-External Value
From ActionScript Performance Wiki
Contents |
Purpose
See if there is a benefit in keeping a value object within the same package.
Code
package { import test.test.test.ExternalValueObject; import flash.display.Sprite; public class Test extends Sprite { private const TEXT:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; private const NUMBER:Number = 1234567890; public function Test() { trace(new PerformanceComparison(5000000, test1, test2).start()); } private function test1():void { test1helper(new InternalValueObject); } private function test2():void { test2helper(new ExternalValueObject); } private function test1helper(obj:InternalValueObject):void { obj.text = TEXT; obj.number = NUMBER; } private function test2helper(obj:ExternalValueObject):void { obj.text = TEXT; obj.number = NUMBER; } } } internal class InternalValueObject { public var text:String; public var number:Number; }
package test.test.test { public class ExternalValueObject { public var text:String; public var number:Number; } }
Results
Compiler version: 3.3.0.485, Player version: MAC 10.0.2.54, Operating System: Mac OS 10.5.8
- Test 1
- 8774 ms, 02% slower
- Test 2
- 8565 ms
Conclusion
Accessing an internal value object is slightly, yet consistently slower.

