{"ScriptPreparationCode":"var array = new Array(10000).fill(1)\r\nvar typedArray = new Uint32Array(10000).fill(1);\r\nvar nested = new Array(100).fill(new Array(100).fill(1))\r\n\r\nvar matrix = {size:100, data:typedArray, get(x,y){return this.data[x*this.size\u002By]}, set(x,y,v){this.data[x*this.size\u002By]=v}, map(c){\r\nconst data = this.data;\r\nconst size = this.size;\r\nfor (let x=0; x\u003C100; x\u002B\u002B) {\r\n for (let y=0; y\u003C100; y\u002B\u002B) {\r\n const index = x*size\u002By\r\n data[index] = c(x,y, data[index]);\r\n }\r\n}\r\n\r\n}}","TestCases":[{"Name":"Array write","Code":"for (let x=0; x\u003C100; x\u002B\u002B) {\r\n for (let y=0; y\u003C100; y\u002B\u002B) {\r\n array[x*100\u002By] \u002B= 1;\r\n }\r\n}","IsDeferred":false},{"Name":"TypedArray write","Code":"for (let x=0; x\u003C100; x\u002B\u002B) {\r\n for (let y=0; y\u003C100; y\u002B\u002B) {\r\n typedArray[x*100\u002By] \u002B= 1;\r\n }\r\n}","IsDeferred":false},{"Name":"Matrix write","Code":"for (let x=0; x\u003C100; x\u002B\u002B) {\r\n for (let y=0; y\u003C100; y\u002B\u002B) {\r\n matrix.set(x, y, matrix.get(x,y) \u002B1);\r\n }\r\n}","IsDeferred":false},{"Name":"Nested write","Code":"for (let x=0; x\u003C100; x\u002B\u002B) {\r\n for (let y=0; y\u003C100; y\u002B\u002B) {\r\n nested[x][y] \u002B= 1\r\n }\r\n}","IsDeferred":false},{"Name":"Map write","Code":"matrix.map((_,__,v)=\u003Ev\u002B1)","IsDeferred":false}]}