{"ScriptPreparationCode":"var xs = [];\r\nfor( var x = 0; x \u003C 1000000; x\u002B\u002B ) xs[x] = x;","TestCases":[{"Name":"Imperative","Code":"var count = 0;\r\nvar sum = 0;\r\n\r\nxs.forEach(function(x){ \r\n count = count \u002B 1;\r\n sum = sum \u002B x;\r\n});\r\n\r\n","IsDeferred":false},{"Name":"Multiple reduces","Code":"var totalSum = xs.reduce(function(x,y){ return x \u002B y });\r\nvar totalCount = xs.reduce(function(n, _){ return n \u002B 1 });\r\n","IsDeferred":false},{"Name":"Single reduce","Code":"var initialState = {\r\n count: 0,\r\n sum: 0\r\n}\r\n\r\nfunction step( state, n ){\r\n return {\r\n count: state.count \u002B 1,\r\n sum: state.sum \u002B n\r\n }\r\n}\r\n\r\nvar results = xs.reduce( step, initialState );\r\n\r\n","IsDeferred":false}]}