頻繁に使用する関数とオブジェクトをキャッシュする

頻繁に使用する関数およびオブジェクトをユーザ変数に保存し、アクセスを高速化できます。

テスト ケース:

    ep = converttopoly (mesh())    --node
    ep_bo = ep.baseobject      --ediable poly
    polyop_getvert = polyop.getvert    --structure method
    IEditablePoly = ep_bo.EditablePoly   --FPS interface
    IEditablePoly_GetNumMapChannels =
    IEditablePoly.GetNumMapChannels   --FPS interface

100,000 回の繰り返しの場合

    polyop.getvert ep 1    -- 470 msec.
    polyop_getvert ep 1    -- 79 msec.
    polyop.getvert ep_bo 1   -- 48 msec.
    polyop_getvert ep_bo 1   -- 0 msec.
    ep.EditablePoly.GetNumMapChannels() -- 76532 msec.
    ep.GetNumMapChannels()   -- 72141 msec.
    ep_bo.EditablePoly.GetNumMapChannels()-- 36688 msec.
    ep_bo.GetNumMapChannels()   -- 34219 msec.
    IEditablePoly.GetNumMapChannels() -- 6454 msec.
    IEditablePoly_GetNumMapChannels() -- 0 msec.

テスト ケース:

    gs = geosphere()
    gs_bo = gs.baseobject
    theBend = bend()
    addmodifier gs theBend

100,000 回の繰り返しの場合

    gs.radius     -- 718 msec.
    gs.baseobject.radius    -- 828 msec.
    gs_bo.radius      -- 688 msec.
    gs.modifiers[1].angle    -- 718 msec.
    gs.modifiers[#bend].angle   -- 1187 msec.
    theBend.angle     -- 609 msec.