{"ScriptPreparationCode":null,"TestCases":[{"Name":"Factory","Code":"\u0027use strict\u0027;\r\nfunction getInstance(param1) {\r\n var var1 = \u0027hello\u0027;\r\n var m1 = function (p) {\r\n return \u0027testing: \u0027 \u002B p;\r\n };\r\n return {\r\n getParam1: function () {\r\n return param1;\r\n },\r\n var1: var1,\r\n getResult: function (p) {\r\n return param1 \u002B \u0027, \u0027 \u002B var1 \u002B \u0027, \u0027 \u002B m1(p);\r\n }\r\n };\r\n}\r\n\r\nvar a;\r\nvar i = 0;\r\nvar t1, t2;\r\n\r\nfor (i; i \u003C 1000; i\u002B\u002B) {\r\n a = getInstance(\u0027A - ABC\u0027);\r\n t1 = a.getParam1() \u002B a.var1;\r\n t2 = t1 \u002B a.getResult(\u0027result A\u0027);\r\n}\r\n","IsDeferred":false},{"Name":"Class","Code":"\u0027use strict\u0027;\r\n\r\nvar TestClass = function () {\r\n function TestClass(param1) {\r\n this.param1 = param1;\r\n this.var1 = \u0027hello\u0027;\r\n }\r\n TestClass.prototype.m1 = function (p) {\r\n return \u0027testing: \u0027 \u002B p;\r\n };\r\n ;\r\n TestClass.prototype.getParam1 = function () {\r\n return this.param1;\r\n };\r\n TestClass.prototype.getResult = function (p) {\r\n return this.param1 \u002B \u0027, \u0027 \u002B this.var1 \u002B \u0027, \u0027 \u002B this.m1(p);\r\n };\r\n return TestClass;\r\n}();\r\n\r\nvar b;\r\nvar i = 0;\r\nvar t1, t2;\r\n\r\nfor (i; i \u003C 1000; i\u002B\u002B) {\r\n b = new TestClass(\u0027B - ABC\u0027);\r\n t1 = b.getParam1() \u002B b.var1;\r\n t2 = t1 \u002B b.getResult(\u0027result B\u0027);\r\n}\r\n","IsDeferred":false},{"Name":"Factory (init outside of loop)","Code":"\u0027use strict\u0027;\r\nfunction getInstance(param1) {\r\n var var1 = \u0027hello\u0027;\r\n var m1 = function (p) {\r\n return \u0027testing: \u0027 \u002B p;\r\n };\r\n return {\r\n getParam1: function () {\r\n return param1;\r\n },\r\n var1: var1,\r\n getResult: function (p) {\r\n return param1 \u002B \u0027, \u0027 \u002B var1 \u002B \u0027, \u0027 \u002B m1(p);\r\n }\r\n };\r\n}\r\n\r\nvar a;\r\nvar i = 0;\r\nvar t1, t2;\r\n\r\na = getInstance(\u0027A - ABC\u0027);\r\n\r\nfor (i; i \u003C 1000; i\u002B\u002B) { \r\n t1 = a.getParam1() \u002B a.var1;\r\n t2 = t1 \u002B a.getResult(\u0027result A\u0027);\r\n}","IsDeferred":false},{"Name":"Class (init outside of loop)","Code":"\u0027use strict\u0027;\r\n\r\nvar TestClass = function () {\r\n function TestClass(param1) {\r\n this.param1 = param1;\r\n this.var1 = \u0027hello\u0027;\r\n }\r\n TestClass.prototype.m1 = function (p) {\r\n return \u0027testing: \u0027 \u002B p;\r\n };\r\n ;\r\n TestClass.prototype.getParam1 = function () {\r\n return this.param1;\r\n };\r\n TestClass.prototype.getResult = function (p) {\r\n return this.param1 \u002B \u0027, \u0027 \u002B this.var1 \u002B \u0027, \u0027 \u002B this.m1(p);\r\n };\r\n return TestClass;\r\n}();\r\n\r\nvar b;\r\nvar i = 0;\r\nvar t1, t2;\r\n\r\nb = new TestClass(\u0027B - ABC\u0027);\r\n\r\nfor (i; i \u003C 1000; i\u002B\u002B) {\r\n t1 = b.getParam1() \u002B b.var1;\r\n t2 = t1 \u002B b.getResult(\u0027result B\u0027);\r\n}\r\n","IsDeferred":false}],"UseTinyBench":false}