Script Preparation code:
AخA
 
function escapeRegExp(string) {
    return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
}
Tests:
  • Includes

     
    const headerName = '23434łdfwfwfweffwefwefe';
    const HTTP_HEADER_NAME_CHARS = '!#$%&*+-.0123456789ABCDEFGHIJKLMNOPQRSTUWVXYZ^_`abcdefghijklmnopqrstuvwxyz|~';
    for (const character of headerName) {
        if (!HTTP_HEADER_NAME_CHARS.includes(character)) {
          return character;
        }
      }
      return null;
  • Regexp

     
    const headerName = '23434łdfwfwfweffwefwefe';
    const HTTP_HEADER_NAME_CHARS = '!#$%&*+-.0123456789ABCDEFGHIJKLMNOPQRSTUWVXYZ^_`abcdefghijklmnopqrstuvwxyz|~';
    const reg = new RegExp('^[' + escapeRegExp(HTTP_HEADER_NAME_CHARS) + ']$');
    reg.test(headerName);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Includes
    Regexp

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
Chrome 121 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Includes 20406376.0 Ops/sec
Regexp 1727072.1 Ops/sec