{"ScriptPreparationCode":"class Point {\r\n constructor(x, y) {\r\n this.x = x;\r\n this.y = y;\r\n this.health = 100;\r\n }\r\n\r\n tick() {\r\n this.x \u002B= 2;\r\n this.y \u002B= 2;\r\n this.health -= 1;\r\n }\r\n}\r\n\r\nvar pointClasses = [];\r\nvar pointObjectsA = new Int32Array( 1000000 );\r\nvar pointObjectsB = new Int32Array( 1000000 );\r\nvar pointObjectsC = new Int32Array( 1000000 );\r\n\r\nfor (let i = 0; i \u003C 1000000; i\u002B\u002B) {\r\n pointClasses.push(new Point(0, 0));\r\n pointObjectsA[ i ] = 0;\r\n pointObjectsB[ i ] = 0;\r\n pointObjectsC[ i ] = 100;\r\n}","TestCases":[{"Name":"OO-style","Code":"let i;\r\nfor ( i = 0; i \u003C 1000000; i\u002B\u002B )\r\n pointClasses[ i ].tick();","IsDeferred":false},{"Name":"ECS-style","Code":"let i;\r\nfor ( i = 0; i \u003C 1000000; i\u002B\u002B ) {\r\n pointObjectsA[ i ] \u002B= 2;\r\n pointObjectsB[ i ] \u002B= 2;\r\n pointObjectsC[ i ] = 100;\r\n}","IsDeferred":false}]}