{"ScriptPreparationCode":"/*your preparation JavaScript code goes here\r\nTo execute async code during the script preparation, wrap it as function globalMeasureThatScriptPrepareFunction, example:*/\r\n","TestCases":[{"Name":"assign","Code":"const BASE_OBJECTS = (() =\u003E {\r\n const arr = new Array(10000);\r\n for (let i = 0; i \u003C 10000; i\u002B\u002B) {\r\n arr[i] = {\r\n id: i,\r\n name: \u0022obj_\u0022 \u002B i,\r\n value: i * 2,\r\n active: i % 2 === 0\r\n };\r\n }\r\n return arr;\r\n})();\r\n\r\n\r\nlet result;\r\n\r\nfor (let round = 0; round \u003C 10; round\u002B\u002B) {\r\n result = new Array(BASE_OBJECTS.length);\r\n\r\n for (let i = 0; i \u003C BASE_OBJECTS.length; i\u002B\u002B) {\r\n result[i] = Object.assign(\r\n {},\r\n BASE_OBJECTS[i],\r\n {\r\n extra1: i,\r\n extra2: i \u002B 1,\r\n extra3: i \u002B 2\r\n }\r\n );\r\n }\r\n}\r\n\r\n","IsDeferred":false},{"Name":"spread","Code":"const BASE_OBJECTS = (() =\u003E {\r\n const arr = new Array(10000);\r\n for (let i = 0; i \u003C 10000; i\u002B\u002B) {\r\n arr[i] = {\r\n id: i,\r\n name: \u0022obj_\u0022 \u002B i,\r\n value: i * 2,\r\n active: i % 2 === 0\r\n };\r\n }\r\n return arr;\r\n})();\r\n\r\nlet result;\r\n\r\nfor (let round = 0; round \u003C 10; round\u002B\u002B) {\r\n result = new Array(BASE_OBJECTS.length);\r\n\r\n for (let i = 0; i \u003C BASE_OBJECTS.length; i\u002B\u002B) {\r\n result[i] = {\r\n ...BASE_OBJECTS[i],\r\n extra1: i,\r\n extra2: i \u002B 1,\r\n extra3: i \u002B 2\r\n };\r\n }\r\n}\r\n","IsDeferred":false},{"Name":"mutable assign","Code":"const BASE_OBJECTS = (() =\u003E {\r\n const arr = new Array(10000);\r\n for (let i = 0; i \u003C 10000; i\u002B\u002B) {\r\n arr[i] = {\r\n id: i,\r\n name: \u0022obj_\u0022 \u002B i,\r\n value: i * 2,\r\n active: i % 2 === 0\r\n };\r\n }\r\n return arr;\r\n})();\r\n\r\n\r\nlet result;\r\n\r\nfor (let round = 0; round \u003C 10; round\u002B\u002B) {\r\n result = new Array(BASE_OBJECTS.length);\r\n\r\n for (let i = 0; i \u003C BASE_OBJECTS.length; i\u002B\u002B) {\r\n result[i] = Object.assign(\r\n BASE_OBJECTS[i],\r\n {\r\n extra1: i,\r\n extra2: i \u002B 1,\r\n extra3: i \u002B 2\r\n }\r\n );\r\n }\r\n}\r\n\r\n","IsDeferred":false},{"Name":"lodash merge","Code":"const BASE_OBJECTS = (() =\u003E {\r\n const arr = new Array(10000);\r\n for (let i = 0; i \u003C 10000; i\u002B\u002B) {\r\n arr[i] = {\r\n id: i,\r\n name: \u0022obj_\u0022 \u002B i,\r\n value: i * 2,\r\n active: i % 2 === 0\r\n };\r\n }\r\n return arr;\r\n})();\r\n\r\n\r\nlet result;\r\n\r\nfor (let round = 0; round \u003C 10; round\u002B\u002B) {\r\n result = new Array(BASE_OBJECTS.length);\r\n\r\n for (let i = 0; i \u003C BASE_OBJECTS.length; i\u002B\u002B) {\r\n result[i] = _.merge({},\r\n BASE_OBJECTS[i],\r\n {\r\n extra1: i,\r\n extra2: i \u002B 1,\r\n extra3: i \u002B 2\r\n }\r\n );\r\n }\r\n}\r\n","IsDeferred":false}]}