performance - usage - samsung maintenance de l'appareil protection




Lua optimiser la mémoire (2)

Je quoi optimiser mon code. J'ai 3 option ne sais pas ce qui est mieux pour la mémoire dans Lua:

1)

local Test = {}
    Test.var1 = function ()
        -- Code
    end

    Test.var2 = function ()
        -- Code
    end

2) Ou

function var1()
    -- Code
end

function var2()
    -- Code
end

3) Ou peut-être

local var1 = function ()
    -- Code
end

local var2 = function ()
    -- Code
end

Aucun ne va vraiment affecter la mémoire, sauf l'utilisation d'une table en # 1 (donc environ 40 octets + une par entrée).

Si vous voulez les performances, alors l'option # 3 est bien meilleure, en supposant que vous puissiez accéder à ces fonctions à l'échelle locale.


Citant de Gem Programming Lua , les deux maximes de l'optimisation du programme:

  • Règle n ° 1: Ne le faites pas.
  • Règle n ° 2: Ne le faites pas encore. (pour les experts seulement)

Pour revenir à vos exemples, le deuxième morceau de code est un peu plus mauvais car l'accès aux globaux est plus lent. Mais la différence de performance est à peine perceptible.

Cela dépend de vos besoins, le premier utilise une table supplémentaire par rapport au troisième, mais l'espace de noms est plus propre.





lua