Schala Zeal wrote:
> The bottom line is would there be any negative impact if I were to embed
> a Ruby 1.9.1 scripting engine in my game, in contrast to Lua?

I'd say it depends a lot on how consistent your framerate needs to be.

For example, if you must maintain solid 60Hz, it can be quite a
challenge:

http://www.scribd.com/doc/15118967/Hitting-60Hz-in-Unreal-Engine


As of Lua 5.1, the Garbage Collector is now incremental instead of
mark-and-sweep.

An article describing the use of Lua in WoW, which mentions lag
related to the older GC approach:

http://fliiby.com/file/272148/4hh27ix1dt.html

"In Lua 5.0 users were experiencing frequent freezes in their user
interface during heavy combat situations due to the atomic garbage
collection. Users wrote a number of addon solutions that performed
garbage collection as pre-dened °…safe°… times, such as when entering
a city or exiting combat When incremental GC was introduced the
system seemed to be much smoother and caused less issues for users.
After further testing and observation the garbage collector wasn°«t
aggressive enough, since it only took a step when new functions or
tables were created. I created a simple addon solution that called a
step of the garbage collector periodically when the player was not
in combat."


Ruby, at least the MRI/YARV versions of the interpreter, still uses
mark-and-sweep GC.


So you can almost certainly expect the same periodic long frames
(lag) to occur when Ruby garbage collects, as used to happen with
Lua.


Regards,

Bill