diff options
Diffstat (limited to 'Data/BuiltIn/Libraries/middleclass/performance/run.lua')
-rw-r--r-- | Data/BuiltIn/Libraries/middleclass/performance/run.lua | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Data/BuiltIn/Libraries/middleclass/performance/run.lua b/Data/BuiltIn/Libraries/middleclass/performance/run.lua new file mode 100644 index 0000000..8d8ba47 --- /dev/null +++ b/Data/BuiltIn/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) |