What's the critical difference between BEAM bytecode and Ruby bytecode? It's IMHO not a very important distinction if the compilation happens ahead of time or when the program is started, but maybe that's not what you're talking about? I'm not really familiar with the internals of these two.