{"ScriptPreparationCode":"// \u041A\u043B\u0430\u0441\u0441 \u0441 \u043B\u0435\u043D\u0438\u0432\u043E\u0439 \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0435\u0439\r\nclass StateClass {\r\n constructor() {\r\n this._state = null;\r\n }\r\n \r\n getState() {\r\n if (this._state === null) {\r\n // \u0418\u043C\u0438\u0442\u0430\u0446\u0438\u044F \u0431\u043E\u043B\u0435\u0435 \u0434\u043E\u0440\u043E\u0433\u043E\u0439 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438\r\n const arr = Array.from({length: 1000}, (_, i) =\u003E i * Math.random());\r\n this._state = { \r\n data: arr,\r\n computed: arr.reduce((a, b) =\u003E a \u002B b, 0),\r\n timestamp: Date.now() \r\n };\r\n }\r\n return this._state;\r\n }\r\n}\r\n\r\n// \u0417\u0430\u043C\u044B\u043A\u0430\u043D\u0438\u0435 \u0441 \u043B\u0435\u043D\u0438\u0432\u043E\u0439 \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0435\u0439\r\nfunction createStateClosure() {\r\n let state = null;\r\n \r\n return { getState: () =\u003E {\r\n if (state === null) {\r\n // \u0418\u043C\u0438\u0442\u0430\u0446\u0438\u044F \u0431\u043E\u043B\u0435\u0435 \u0434\u043E\u0440\u043E\u0433\u043E\u0439 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438\r\n const arr = Array.from({length: 1000}, (_, i) =\u003E i * Math.random());\r\n state = { \r\n data: arr,\r\n computed: arr.reduce((a, b) =\u003E a \u002B b, 0),\r\n timestamp: Date.now() \r\n };\r\n }\r\n return state;\r\n }\r\n };\r\n}\r\nconst arrClass = Array.from({length: 1000}, (_, i) =\u003E new StateClass());\r\nconst arrFn = Array.from({length: 1000}, (_, i) =\u003E createStateClosure());","TestCases":[{"Name":"arrClass","Code":"arrClass.forEach(i =\u003E i.getState());","IsDeferred":false},{"Name":"arrFn","Code":"arrFn.forEach(i =\u003E i.getState());","IsDeferred":false}]}