{"ScriptPreparationCode":"var xs = [];\r\nfor( var x = 0; x \u003C 10000; 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\nconsole.log(\u0022Baseline: \u0022, count, sum);","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\r\nconsole.log(\u0022Multiple: \u0022, totalSum, totalCount);","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\nconsole.log(\u0022Single Reduce:\u0022, results);","IsDeferred":false}]}