Benchmark

Benchmark run from 2026-04-14 14:42:03.656433Z 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.96 K</td>
    <td style="white-space: nowrap; text-align: right">201.71 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">&plusmn;5.04%</td>
    <td style="white-space: nowrap; text-align: right">198.17 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">229.54 &micro;s</td>
  </tr>

  <tr>
    <td style="white-space: nowrap">top_k=10 + output_fields</td>
    <td style="white-space: nowrap; text-align: right">3.35 K</td>
    <td style="white-space: nowrap; text-align: right">298.45 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">&plusmn;3.78%</td>
    <td style="white-space: nowrap; text-align: right">295.96 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">330.58 &micro;s</td>
  </tr>

  <tr>
    <td style="white-space: nowrap">top_k=10</td>
    <td style="white-space: nowrap; text-align: right">3.25 K</td>
    <td style="white-space: nowrap; text-align: right">307.49 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">&plusmn;4.53%</td>
    <td style="white-space: nowrap; text-align: right">305.29 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">344.46 &micro;s</td>
  </tr>

  <tr>
    <td style="white-space: nowrap">top_k=10 + filter</td>
    <td style="white-space: nowrap; text-align: right">1.83 K</td>
    <td style="white-space: nowrap; text-align: right">546.31 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">&plusmn;4.57%</td>
    <td style="white-space: nowrap; text-align: right">543.96 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">622.38 &micro;s</td>
  </tr>

  <tr>
    <td style="white-space: nowrap">top_k=100</td>
    <td style="white-space: nowrap; text-align: right">0.72 K</td>
    <td style="white-space: nowrap; text-align: right">1390.04 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">&plusmn;2.14%</td>
    <td style="white-space: nowrap; text-align: right">1387.88 &micro;s</td>
    <td style="white-space: nowrap; text-align: right">1476.55 &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.96 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">3.35 K</td>
    <td style="white-space: nowrap; text-align: right">1.48x</td>
  </tr>

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

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

  <tr>
    <td style="white-space: nowrap">top_k=100</td>
    <td style="white-space: nowrap; text-align: right">0.72 K</td>
    <td style="white-space: nowrap; text-align: right">6.89x</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.81 KB</td>
    <td>&nbsp;</td>
  </tr>
    <tr>
    <td style="white-space: nowrap">top_k=10 + output_fields</td>
    <td style="white-space: nowrap">4.03 KB</td>
    <td>0.84x</td>
  </tr>
    <tr>
    <td style="white-space: nowrap">top_k=10</td>
    <td style="white-space: nowrap">4.80 KB</td>
    <td>1.0x</td>
  </tr>
    <tr>
    <td style="white-space: nowrap">top_k=10 + filter</td>
    <td style="white-space: nowrap">4.80 KB</td>
    <td>1.0x</td>
  </tr>
    <tr>
    <td style="white-space: nowrap">top_k=100</td>
    <td style="white-space: nowrap">35.74 KB</td>
    <td>7.43x</td>
  </tr>
</table>