Example #1
0
    public void InvokeStructParaCB()
    {
        ParaStruct paraStruct = new ParaStruct();

        for (int i = 0; i < 1000000; i++)
        {
            StructParaEvent(paraStruct);
        }
    }
Example #2
0
 public void funcStructParam(ParaStruct x)
 {
 }
Example #3
0
 public static void sFuncStructParam(ParaStruct x)
 {
 }
Example #4
0
    private void StartCSCallLua()
    {
        int LOOP_TIMES = 1000000;

        Debug.Log("C# call lua :");
        sw.WriteLine("C# call lua :");

        FuncBasePara funcBaseParm = luaenv.Global.Get <FuncBasePara>("FuncBasePara");

        PerformentTest("C# call lua : base parameter function :", LOOP_TIMES, loop_times =>
        {
            for (int i = 0; i < loop_times; i++)
            {
                funcBaseParm(i);
            }
        });

        FuncClassPara funcClassPara = luaenv.Global.Get <FuncClassPara> ("FuncClassPara");
        ParaClass     paraClass     = new ParaClass();

        PerformentTest("C# call lua : class parameter function :", LOOP_TIMES, loop_times =>
        {
            for (int i = 0; i < loop_times; i++)
            {
                funcClassPara(paraClass);
            }
        });

        FuncStructPara funcStructPara = luaenv.Global.Get <FuncStructPara> ("FuncStructPara");
        ParaStruct     paraStruct     = new ParaStruct();

        PerformentTest("C# call lua : struct parameter function :", LOOP_TIMES, loop_times =>
        {
            for (int i = 0; i < loop_times; i++)
            {
                funcStructPara(paraStruct);
            }
        });

        FuncTwoBasePara funcTwoBasePara = luaenv.Global.Get <FuncTwoBasePara> ("FuncTwoBasePara");

        PerformentTest("C# call lua : two base parameter function :", LOOP_TIMES, loop_times =>
        {
            for (int i = 0; i < loop_times; i++)
            {
                funcTwoBasePara(i, i);
            }
        });

        sw.WriteLine("C# access lua table : ");

        ITableAccess iTAccess = luaenv.Global.Get <ITableAccess> ("luaTable");

        PerformentTest("C# access lua table : access member, get : ", LOOP_TIMES, loop_times =>
        {
            for (int i = 0; i < loop_times; i++)
            {
                int x = iTAccess.id;
            }
        });

        PerformentTest("C# access lua table : access member, set : ", LOOP_TIMES, loop_times =>
        {
            for (int i = 0; i < loop_times; i++)
            {
                iTAccess.id = 0;
            }
        });

        PerformentTest("C# access lua table : access member function : ", LOOP_TIMES, loop_times =>
        {
            for (int i = 0; i < loop_times; i++)
            {
                iTAccess.func();
            }
        });
    }