HTML Preparation code:
x
 
1
<script type='module'>
2
    import qs from 'https://cdn.skypack.dev/query-string';
3
4
    window.qs = qs
5
</script>
Script Preparation code:
 
window.string = 'hola=mundo&soy=david'
window.parseQuery = (query) => {
  const searchParams = new URLSearchParams(query);
  const result = {};
  for (const [key, value] of searchParams) {
    if (key in result) {
      const current = result[key];
      if (Array.isArray(current)) {
        current.push(value);
      } else {
        result[key] = [current, value];
      }
    } else {
      result[key] = value;
    }
  }
  return result;
};
Tests:
  • query-string

     
    qs.parse(string)
  • URLSearchParams

     
    parseQuery(string)
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    query-string
    URLSearchParams

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one month ago)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0
Chrome 125 on Linux
View result in a separate tab
Test name Executions per second
query-string 207778.2 Ops/sec
URLSearchParams 384756.9 Ops/sec