Пример #1
0
        } // proc ExecuteLuaIntf

        //private static Neo.IronLua.Lua lua = new Neo.IronLua.Lua();
        private static long ExecuteNeoLua(int i, string sScript)
        {
            Stopwatch sw = new Stopwatch();

            sw.Start();
            using (Neo.IronLua.Lua lua = new Neo.IronLua.Lua())
            {
                Neo.IronLua.LuaGlobal g = lua.CreateEnvironment();
                g["test"] = new Action <int>(LuaTest);
                g["echo"] = new Func <object, object>(LuaEcho);
                DebugOut("NeoLua", i, g.DoChunk(sScript, "test"));
            }
            return(sw.ElapsedMilliseconds);
        }
Пример #2
0
        private static double ExecuteNeoLuaCompiled(string sScript, int iLoops)
        {
            using (Neo.IronLua.Lua lua = new Neo.IronLua.Lua())
            {
                Neo.IronLua.LuaChunk chunk = lua.CompileChunk(sScript, "test", new Neo.IronLua.LuaCompileOptions()
                {
                    DebugEngine = debugNeoLua
                });
                Neo.IronLua.LuaGlobal g = lua.CreateEnvironment();
                g["test"] = new Action <int>(LuaTest);
                g["echo"] = new Func <object, object>(LuaEcho);

                Stopwatch sw = new Stopwatch();
                sw.Start();
                for (int i = 0; i < iLoops; i++)
                {
                    DebugOut("NeoLua-C", i, g.DoChunk(chunk));
                }
                return(sw.ElapsedMilliseconds / (double)iLoops);
            }
        }