{"ScriptPreparationCode":"class Something extends Float32Array {\r\n \r\n constructor (val) {\r\n super(1);\r\n this[0] = val;\r\n }\r\n\r\n get x () { return this[0]; }\r\n set x (v) { this[0] = v; }\r\n}\r\n\r\nconst size = 10000;\r\nconst array = new Array(16).fill(1);\r\nconst arrayEF32 = new Something (16);\r\nconst arrayF32 = new Float32Array (16);\r\nconst obj = {\r\n get x() {\r\n return array[0];\r\n },\r\n\r\n set x(value) {\r\n array[0] = value;\r\n }\r\n};\r\n\r\n","TestCases":[{"Name":"array[0]","Code":"let sum = 0;\r\nfor (let i = 0; i \u003C size; i\u002B\u002B) {\r\n array[0] = Math.random () * 1000;\r\n sum \u002B= array[0];\r\n}","IsDeferred":false},{"Name":"set / get","Code":"let sum = 0;\r\nfor (let i = 0; i \u003C size; i\u002B\u002B) {\r\n obj.x = Math.random () * 1000;\r\n sum \u002B= obj.x;\r\n}","IsDeferred":false},{"Name":"float 32","Code":"let sum = 0;\r\nfor (let i = 0; i \u003C size; i\u002B\u002B) {\r\n arrayF32[0] = Math.random () * 1000;\r\n sum \u002B= arrayF32[0];\r\n}","IsDeferred":false},{"Name":"extended float 32","Code":"let sum = 0;\r\nfor (let i = 0; i \u003C size; i\u002B\u002B) {\r\n arrayEF32.x = Math.random () * 1000;\r\n sum \u002B= arrayEF32.x;\r\n}","IsDeferred":false}]}