summaryrefslogtreecommitdiff
path: root/Resources/DefaultContent/Libraries/middleclass/performance/run.lua
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-10-20 12:31:42 +0800
committerchai <chaifix@163.com>2021-10-20 12:31:42 +0800
commit943411c9006345b07557e76ff360c388ee8366c1 (patch)
treef9d3e8525acd02412d1d556b6778fb373a806f33 /Resources/DefaultContent/Libraries/middleclass/performance/run.lua
parentdcf8210b43077ed6a12d73e0d7d3d7edcbbe3e55 (diff)
+some lua libs
Diffstat (limited to 'Resources/DefaultContent/Libraries/middleclass/performance/run.lua')
-rw-r--r--Resources/DefaultContent/Libraries/middleclass/performance/run.lua43
1 files changed, 43 insertions, 0 deletions
diff --git a/Resources/DefaultContent/Libraries/middleclass/performance/run.lua b/Resources/DefaultContent/Libraries/middleclass/performance/run.lua
new file mode 100644
index 0000000..8d8ba47
--- /dev/null
+++ b/Resources/DefaultContent/Libraries/middleclass/performance/run.lua
@@ -0,0 +1,43 @@
+local class = require 'middleclass'
+
+time = require 'performance/time'
+
+time('class creation', function()
+ local A = class('A')
+end)
+
+local A = class('A')
+
+time('instance creation', function()
+ local a = A:new()
+end)
+
+function A:foo()
+ return 1
+end
+
+local a = A:new()
+
+time('instance method invocation', function()
+ a:foo()
+end)
+
+local B = class('B', A)
+
+local b = B:new()
+
+time('inherited method invocation', function()
+ b:foo()
+end)
+
+function A.static:bar()
+ return 2
+end
+
+time('class method invocation', function()
+ A:bar()
+end)
+
+time('inherited class method invocation', function()
+ B:bar()
+end)