{"ScriptPreparationCode":"/*your preparation JavaScript code goes here\r\nTo execute async code during the script preparation, wrap it as function globalMeasureThatScriptPrepareFunction, example:*/\r\nasync function globalMeasureThatScriptPrepareFunction() {\r\n // This function is optional, feel free to remove it.\r\n // await someThing();\r\n}","TestCases":[{"Name":"array.from mapped fn","Code":"const generateChannelRanges = (startFrequency, channelWidth, count) =\u003E {\r\n return Array.from({ length: count }, (_, i) =\u003E {\r\n const start = startFrequency \u002B i * channelWidth;\r\n return { start, end: start \u002B channelWidth };\r\n });\r\n};\r\n\r\nconst channelRanges = {\r\n 320: [...generateChannelRanges(5945, 320, 3), ...generateChannelRanges(6105, 320, 3)].sort(\r\n (a, b) =\u003E a.start - b.start\r\n ),\r\n 240: generateChannelRanges(5490, 240, 1),\r\n 160: [\r\n ...generateChannelRanges(5170, 160, 1),\r\n ...generateChannelRanges(5490, 160, 1),\r\n ...generateChannelRanges(5945, 160, 7),\r\n ],\r\n 80: [\r\n ...generateChannelRanges(5170, 80, 2),\r\n ...generateChannelRanges(5490, 80, 3),\r\n ...generateChannelRanges(5735, 80, 1),\r\n ...generateChannelRanges(5945, 80, 14),\r\n ],\r\n 40: [\r\n ...generateChannelRanges(2402, 40, 2),\r\n ...generateChannelRanges(5170, 40, 4),\r\n ...generateChannelRanges(5490, 40, 6),\r\n ...generateChannelRanges(5735, 40, 2),\r\n ...generateChannelRanges(5945, 40, 29),\r\n ],\r\n 20: [\r\n ...generateChannelRanges(2402, 20, 4),\r\n ...generateChannelRanges(5170, 20, 8),\r\n ...generateChannelRanges(5490, 20, 12),\r\n ...generateChannelRanges(5735, 20, 5),\r\n ...generateChannelRanges(5925, 20, 60),\r\n ],\r\n};","IsDeferred":false},{"Name":"old impl","Code":"const generateChannelRanges = (startFrequency, channelWidth, count) =\u003E {\r\n let frequency = startFrequency;\r\n const ranges = [];\r\n for (let i = 0; i \u003C count; i\u002B\u002B) {\r\n ranges.push({ start: frequency, end: frequency \u002B channelWidth });\r\n frequency \u002B= channelWidth;\r\n }\r\n return ranges;\r\n};\r\n\r\nconst channelRanges = {\r\n 320: [...generateChannelRanges(5945, 320, 3), ...generateChannelRanges(6105, 320, 3)].sort(\r\n (a, b) =\u003E a.start - b.start\r\n ),\r\n 240: generateChannelRanges(5490, 240, 1),\r\n 160: [\r\n ...generateChannelRanges(5170, 160, 1),\r\n ...generateChannelRanges(5490, 160, 1),\r\n ...generateChannelRanges(5945, 160, 7),\r\n ],\r\n 80: [\r\n ...generateChannelRanges(5170, 80, 2),\r\n ...generateChannelRanges(5490, 80, 3),\r\n ...generateChannelRanges(5735, 80, 1),\r\n ...generateChannelRanges(5945, 80, 14),\r\n ],\r\n 40: [\r\n ...generateChannelRanges(2402, 40, 2),\r\n ...generateChannelRanges(5170, 40, 4),\r\n ...generateChannelRanges(5490, 40, 6),\r\n ...generateChannelRanges(5735, 40, 2),\r\n ...generateChannelRanges(5945, 40, 29),\r\n ],\r\n 20: [\r\n ...generateChannelRanges(2402, 20, 4),\r\n ...generateChannelRanges(5170, 20, 8),\r\n ...generateChannelRanges(5490, 20, 12),\r\n ...generateChannelRanges(5735, 20, 5),\r\n ...generateChannelRanges(5925, 20, 60),\r\n ],\r\n};","IsDeferred":false}]}