
Understanding Adobe Alchemy (C/C++ to ActionScript compiler) - bd
http://www.automatastudios.com/2008/11/21/understanding-adobe-alchemy/
======
flashgordon
Ive always wondered, how would this be better/faster than the flex compiler
directly outputing AS bytecode or hand-coding the AS bytecode (if that were
easy/possible).

The only reason I can think of is that Adobe's compiler does a lousy job and
that Adobe would rather focus on the tools and frameworks component and let
the guys good at compiler construction do the bytecode generation.

Is this it? or is there a much smarter reason that is eluding me (as it
usually does)?

~~~
ed
You're basically right. LLVM performs optimizations that mxmlc doesn't, and
you don't lose those optimizations during the as3 compilation step because
Alchemy ships with a modified as3 compiler that lets you inline opcodes
(output by Adobe's LLVM backend).

You've actually always been able to optimize your AS to this degree, but you
have to deal with the esoteric details of AVM2 bytecode, which, obviously, is
not _alot_ of fun.

------
blasdel
<http://www.newgrounds.com/portal/view/470460>

Doom 1 ported using Alchemy!

~~~
ed
Unfortunately it's slow as hell. Scott's presentation at MAX showed his Doom
port running fluidly, so we know it _can_ be done. With any luck we'll see
optimization tips shared soon.

~~~
blasdel
I played the first few levels without any performance issues - on Linux x86_64
with Flash 10.0.12.36-r1 in nspluginwrapper (I haven't gotten around to
switching to the native alpha)

------
jwilliams
Fascinating - really validates the whole premise behind LLVM.

