HTML Preparation code:
AخA
 
1
<!--your preparation HTML code goes here-->
Script Preparation code:
 
/*your preparation JavaScript code goes here
To execute async code during the script preparation, wrap it as function globalMeasureThatScriptPrepareFunction, example:*/
async function globalMeasureThatScriptPrepareFunction() {
    // This function is optional, feel free to remove it.
    // await someThing();
}
Tests:
  • array.from mapped fn

    x
     
    const generateChannelRanges = (startFrequency, channelWidth, count) => {
      return Array.from({ length: count }, (_, i) => {
        const start = startFrequency + i * channelWidth;
        return { start, end: start + channelWidth };
      });
    };
    const channelRanges = {
      320: [...generateChannelRanges(5945, 320, 3), ...generateChannelRanges(6105, 320, 3)].sort(
        (a, b) => a.start - b.start
      ),
      240: generateChannelRanges(5490, 240, 1),
      160: [
        ...generateChannelRanges(5170, 160, 1),
        ...generateChannelRanges(5490, 160, 1),
        ...generateChannelRanges(5945, 160, 7),
      ],
      80: [
        ...generateChannelRanges(5170, 80, 2),
        ...generateChannelRanges(5490, 80, 3),
        ...generateChannelRanges(5735, 80, 1),
        ...generateChannelRanges(5945, 80, 14),
      ],
      40: [
        ...generateChannelRanges(2402, 40, 2),
        ...generateChannelRanges(5170, 40, 4),
        ...generateChannelRanges(5490, 40, 6),
        ...generateChannelRanges(5735, 40, 2),
        ...generateChannelRanges(5945, 40, 29),
      ],
      20: [
        ...generateChannelRanges(2402, 20, 4),
        ...generateChannelRanges(5170, 20, 8),
        ...generateChannelRanges(5490, 20, 12),
        ...generateChannelRanges(5735, 20, 5),
        ...generateChannelRanges(5925, 20, 60),
      ],
    };
  • old impl

     
    const generateChannelRanges = (startFrequency, channelWidth, count) => {
      let frequency = startFrequency;
      const ranges = [];
      for (let i = 0; i < count; i++) {
        ranges.push({ start: frequency, end: frequency + channelWidth });
        frequency += channelWidth;
      }
      return ranges;
    };
    const channelRanges = {
      320: [...generateChannelRanges(5945, 320, 3), ...generateChannelRanges(6105, 320, 3)].sort(
        (a, b) => a.start - b.start
      ),
      240: generateChannelRanges(5490, 240, 1),
      160: [
        ...generateChannelRanges(5170, 160, 1),
        ...generateChannelRanges(5490, 160, 1),
        ...generateChannelRanges(5945, 160, 7),
      ],
      80: [
        ...generateChannelRanges(5170, 80, 2),
        ...generateChannelRanges(5490, 80, 3),
        ...generateChannelRanges(5735, 80, 1),
        ...generateChannelRanges(5945, 80, 14),
      ],
      40: [
        ...generateChannelRanges(2402, 40, 2),
        ...generateChannelRanges(5170, 40, 4),
        ...generateChannelRanges(5490, 40, 6),
        ...generateChannelRanges(5735, 40, 2),
        ...generateChannelRanges(5945, 40, 29),
      ],
      20: [
        ...generateChannelRanges(2402, 20, 4),
        ...generateChannelRanges(5170, 20, 8),
        ...generateChannelRanges(5490, 20, 12),
        ...generateChannelRanges(5735, 20, 5),
        ...generateChannelRanges(5925, 20, 60),
      ],
    };
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    array.from mapped fn
    old impl

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one month ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:135.0) Gecko/20100101 Firefox/135.0
Firefox 135 on Mac OS X 10.15
View result in a separate tab
Test name Executions per second
array.from mapped fn 241746.8 Ops/sec
old impl 341066.7 Ops/sec