Benchmark

Benchmark run from 2026-04-14 14:43:17.610996Z UTC

## System

Benchmark suite executing on the following system:

<table style="width: 1%">
  <tr>
    <th style="width: 1%; white-space: nowrap">Operating System</th>
    <td>macOS</td>
  </tr><tr>
    <th style="white-space: nowrap">CPU Information</th>
    <td style="white-space: nowrap">Apple M4 Pro</td>
  </tr><tr>
    <th style="white-space: nowrap">Number of Available Cores</th>
    <td style="white-space: nowrap">12</td>
  </tr><tr>
    <th style="white-space: nowrap">Available Memory</th>
    <td style="white-space: nowrap">24 GB</td>
  </tr><tr>
    <th style="white-space: nowrap">Elixir Version</th>
    <td style="white-space: nowrap">1.19.5</td>
  </tr><tr>
    <th style="white-space: nowrap">Erlang Version</th>
    <td style="white-space: nowrap">28.4.1</td>
  </tr>
</table>

## Configuration

Benchmark suite executing with the following configuration:

<table style="width: 1%">
  <tr>
    <th style="width: 1%">:time</th>
    <td style="white-space: nowrap">10 s</td>
  </tr><tr>
    <th>:parallel</th>
    <td style="white-space: nowrap">1</td>
  </tr><tr>
    <th>:warmup</th>
    <td style="white-space: nowrap">2 s</td>
  </tr>
</table>

## Statistics



Run Time

<table style="width: 1%">
  <tr>
    <th>Name</th>
    <th style="text-align: right">IPS</th>
    <th style="text-align: right">Average</th>
    <th style="text-align: right">Devitation</th>
    <th style="text-align: right">Median</th>
    <th style="text-align: right">99th&nbsp;%</th>
  </tr>

  <tr>
    <td style="white-space: nowrap">hnsw ef=64 top_k=10</td>
    <td style="white-space: nowrap; text-align: right">4.71 K</td>
    <td style="white-space: nowrap; text-align: right">212.38 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">&plusmn;5.33%</td>
    <td style="white-space: nowrap; text-align: right">209.63 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">242.53 &micro;s</td>
  </tr>

  <tr>
    <td style="white-space: nowrap">top_k=10 + output_fields</td>
    <td style="white-space: nowrap; text-align: right">2.63 K</td>
    <td style="white-space: nowrap; text-align: right">380.88 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">&plusmn;11.94%</td>
    <td style="white-space: nowrap; text-align: right">374.96 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">517.92 &micro;s</td>
  </tr>

  <tr>
    <td style="white-space: nowrap">top_k=10</td>
    <td style="white-space: nowrap; text-align: right">2.52 K</td>
    <td style="white-space: nowrap; text-align: right">396.32 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">&plusmn;11.94%</td>
    <td style="white-space: nowrap; text-align: right">387.75 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">600.53 &micro;s</td>
  </tr>

  <tr>
    <td style="white-space: nowrap">top_k=10 + filter</td>
    <td style="white-space: nowrap; text-align: right">0.85 K</td>
    <td style="white-space: nowrap; text-align: right">1179.09 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">&plusmn;32.80%</td>
    <td style="white-space: nowrap; text-align: right">1092.88 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">2299.94 &micro;s</td>
  </tr>

  <tr>
    <td style="white-space: nowrap">top_k=100</td>
    <td style="white-space: nowrap; text-align: right">0.66 K</td>
    <td style="white-space: nowrap; text-align: right">1521.19 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">&plusmn;5.23%</td>
    <td style="white-space: nowrap; text-align: right">1502.00 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">1879.67 &micro;s</td>
  </tr>

</table>


Run Time Comparison

<table style="width: 1%">
  <tr>
    <th>Name</th>
    <th style="text-align: right">IPS</th>
    <th style="text-align: right">Slower</th>
  <tr>
    <td style="white-space: nowrap">hnsw ef=64 top_k=10</td>
    <td style="white-space: nowrap;text-align: right">4.71 K</td>
    <td>&nbsp;</td>
  </tr>

  <tr>
    <td style="white-space: nowrap">top_k=10 + output_fields</td>
    <td style="white-space: nowrap; text-align: right">2.63 K</td>
    <td style="white-space: nowrap; text-align: right">1.79x</td>
  </tr>

  <tr>
    <td style="white-space: nowrap">top_k=10</td>
    <td style="white-space: nowrap; text-align: right">2.52 K</td>
    <td style="white-space: nowrap; text-align: right">1.87x</td>
  </tr>

  <tr>
    <td style="white-space: nowrap">top_k=10 + filter</td>
    <td style="white-space: nowrap; text-align: right">0.85 K</td>
    <td style="white-space: nowrap; text-align: right">5.55x</td>
  </tr>

  <tr>
    <td style="white-space: nowrap">top_k=100</td>
    <td style="white-space: nowrap; text-align: right">0.66 K</td>
    <td style="white-space: nowrap; text-align: right">7.16x</td>
  </tr>

</table>



Memory Usage

<table style="width: 1%">
  <tr>
    <th>Name</th>
    <th style="text-align: right">Average</th>
    <th style="text-align: right">Factor</th>
  </tr>
  <tr>
    <td style="white-space: nowrap">hnsw ef=64 top_k=10</td>
    <td style="white-space: nowrap">4.80 KB</td>
    <td>&nbsp;</td>
  </tr>
    <tr>
    <td style="white-space: nowrap">top_k=10 + output_fields</td>
    <td style="white-space: nowrap">4.02 KB</td>
    <td>0.84x</td>
  </tr>
    <tr>
    <td style="white-space: nowrap">top_k=10</td>
    <td style="white-space: nowrap">4.73 KB</td>
    <td>0.99x</td>
  </tr>
    <tr>
    <td style="white-space: nowrap">top_k=10 + filter</td>
    <td style="white-space: nowrap">4.73 KB</td>
    <td>0.99x</td>
  </tr>
    <tr>
    <td style="white-space: nowrap">top_k=100</td>
    <td style="white-space: nowrap">35.66 KB</td>
    <td>7.43x</td>
  </tr>
</table>