为什么Adobe Alchemy Tool比flex编译器创建更快的运行flash字节代码?

den*_*lor 4 apache-flex flash adobe flex3 alchemy

我已经看过一些关于此的博客文章,并与我的队友进行了一两次讨论,但我想看看堆栈溢出社区的想法.

那么为什么Adobe Alchemy Tool比flex编译器创建了更快的运行flash字节代码?

此外,flex编译器什么时候能够获得类似的性能提升?

它是否需要程序员特定使用特殊阵列或类似的东西才能获得相同的性能?

Ric*_*lay 6

Alchemy是ActionScript 中LLVM的一个实现.简而言之,它是一个使用ByteArray作为内存存储的虚拟机.

Alchemy编译的C代码可以直接访问"内存"(通过Flash 10中引入的一些操作码),允许它在闲暇时(包括指向对象的指针)对内存进行分块.这导致一些但并非所有代码运行得更快.某些类型的代码实际上在Alchemy中运行较慢,因为它是在AVM(另一个VM)之上运行的VM.

此外,Alchemy没有对ActionScript类的本机访问权限,必须通过互操作类访问它们.