function addVect1(vectA, vectB) -- 加算が 2 回、テーブルコンストラクトが 1 回。 return {vectA[1] + vectB[1], vectA[2] + vectB[2]} end function addVect2(vectA, vectB) -- 加算が 2 回、代入が 2 回。 vectA[1] = vectA[1] + vectB[1] vectA[2] = vectA[2] + vectB[2] return vectA end do local addVect1 = addVect1 local a = {10, 10} local b = {10, -10} local c local start = timer.getMilliSecCounter() for i = 1, 500000 do c = addVect1(a, b) end print(timer.getMilliSecCounter() - start) end do local addVect2 = addVect2 local a = {10, 10} local b = {10, -10} local c local start = timer.getMilliSecCounter() for i = 1, 500000 do c = addVect2(a, b) end print(timer.getMilliSecCounter() - start) end
参考:
スクリプト言語による効率的ゲーム開発 新訂版 (LuaとC/C++連携プログラミング)
- 作者: 浜中誠
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2010/09/30
- メディア: 大型本
- 購入: 5人 クリック: 95回
- この商品を含むブログ (7件) を見る
, p.289-290