Skip to content

Latest commit

 

History

History
753 lines (703 loc) · 78.5 KB

File metadata and controls

753 lines (703 loc) · 78.5 KB

run "zig build benchmark", and you'll get this:

╔══════════════════════════════════════════════════════════════════════════════╗
║                           u32 Integer Keys                                   ║
╚══════════════════════════════════════════════════════════════════════════════╝

════════════════════════════════════════════════════════════════════════════════
  u32 key → void (set) value
════════════════════════════════════════════════════════════════════════════════

  100 elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    14 ns │    22 ns │    16 ns │    11 ns │    12 ns │
  │ Seq. Insert    │     9 ns │    13 ns │    14 ns │     9 ns │    10 ns │
  │ Reserved Ins.  │     5 ns │    13 ns │    14 ns │     9 ns │     6 ns │
  │ Update         │     3 ns │     4 ns │     3 ns │     5 ns │     6 ns │
  │ Rand. Lookup   │     3 ns │     6 ns │     2 ns │     3 ns │    16 ns │
  │ High Load      │     3 ns │     5 ns │     2 ns │     3 ns │    14 ns │
  │ Lookup Miss    │     1 ns │     5 ns │     2 ns │     3 ns │    13 ns │
  │ Tombstone      │     5 ns │    16 ns │     6 ns │     8 ns │    13 ns │
  │ Delete         │     4 ns │    13 ns │     6 ns │     6 ns │     4 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │     8 ns │    22 ns │    21 ns │    10 ns │    11 ns │
  │ Mixed          │     4 ns │     9 ns │     6 ns │     8 ns │     9 ns │
  │ Read-Heavy     │     3 ns │     3 ns │     3 ns │     4 ns │     6 ns │
  │ Write-Heavy    │    12 ns │    14 ns │    14 ns │     8 ns │    10 ns │
  │ Update-Heavy   │     4 ns │     6 ns │     3 ns │     6 ns │     8 ns │
  │ Zipfian        │     4 ns │    10 ns │     5 ns │     8 ns │     5 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  3K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    15 ns │    12 ns │    13 ns │    12 ns │    15 ns │
  │ Seq. Insert    │    15 ns │    12 ns │    13 ns │    16 ns │    15 ns │
  │ Reserved Ins.  │     9 ns │    12 ns │    13 ns │    13 ns │     7 ns │
  │ Update         │     5 ns │     4 ns │     3 ns │    10 ns │     8 ns │
  │ Rand. Lookup   │     4 ns │     6 ns │     2 ns │     4 ns │    15 ns │
  │ High Load      │     3 ns │     5 ns │     2 ns │     3 ns │    14 ns │
  │ Lookup Miss    │     3 ns │     4 ns │     2 ns │     4 ns │    12 ns │
  │ Tombstone      │     7 ns │    12 ns │     4 ns │    13 ns │    17 ns │
  │ Delete         │     4 ns │    11 ns │     4 ns │    10 ns │     7 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │    10 ns │    21 ns │     7 ns │    13 ns │    28 ns │
  │ Mixed          │     8 ns │    11 ns │     7 ns │    14 ns │    12 ns │
  │ Read-Heavy     │     5 ns │     4 ns │     3 ns │     7 ns │     9 ns │
  │ Write-Heavy    │    24 ns │    19 ns │    15 ns │    17 ns │    20 ns │
  │ Update-Heavy   │     7 ns │     5 ns │     3 ns │    13 ns │    12 ns │
  │ Zipfian        │     7 ns │    10 ns │     7 ns │    11 ns │     9 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  100K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    31 ns │    13 ns │    15 ns │    25 ns │    25 ns │
  │ Seq. Insert    │    31 ns │    13 ns │    15 ns │    26 ns │    25 ns │
  │ Reserved Ins.  │    15 ns │    13 ns │    15 ns │    26 ns │    13 ns │
  │ Update         │     8 ns │     6 ns │     4 ns │    17 ns │    12 ns │
  │ Rand. Lookup   │     9 ns │     5 ns │     6 ns │    17 ns │    13 ns │
  │ High Load      │     8 ns │     6 ns │     6 ns │    17 ns │    13 ns │
  │ Lookup Miss    │     9 ns │     6 ns │     3 ns │     8 ns │    18 ns │
  │ Tombstone      │    15 ns │    16 ns │     7 ns │    26 ns │    25 ns │
  │ Delete         │     7 ns │    14 ns │     6 ns │    20 ns │    10 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     2 ns │
  │ Churn          │    26 ns │    27 ns │    24 ns │    39 ns │    41 ns │
  │ Mixed          │    17 ns │    12 ns │    11 ns │    27 ns │    22 ns │
  │ Read-Heavy     │    11 ns │     7 ns │     7 ns │    21 ns │    15 ns │
  │ Write-Heavy    │    38 ns │    26 ns │    24 ns │    36 ns │    33 ns │
  │ Update-Heavy   │    15 ns │     9 ns │     9 ns │    25 ns │    18 ns │
  │ Zipfian        │    13 ns │    12 ns │     9 ns │    26 ns │    14 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

════════════════════════════════════════════════════════════════════════════════
  u32 key → 4B value
════════════════════════════════════════════════════════════════════════════════

  100 elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    14 ns │    15 ns │    16 ns │    13 ns │    12 ns │
  │ Seq. Insert    │    11 ns │    13 ns │    15 ns │    11 ns │    11 ns │
  │ Reserved Ins.  │     5 ns │    13 ns │    14 ns │    10 ns │     7 ns │
  │ Update         │     4 ns │     4 ns │     5 ns │     3 ns │     7 ns │
  │ Rand. Lookup   │     4 ns │     6 ns │     2 ns │     3 ns │    16 ns │
  │ High Load      │     3 ns │     4 ns │     2 ns │     3 ns │    14 ns │
  │ Lookup Miss    │     2 ns │     6 ns │     2 ns │     3 ns │    13 ns │
  │ Tombstone      │     5 ns │    16 ns │     7 ns │     8 ns │    15 ns │
  │ Delete         │     2 ns │    13 ns │     6 ns │     6 ns │     5 ns │
  │ Iteration      │     2 ns │     1 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │     8 ns │    21 ns │    24 ns │    11 ns │    11 ns │
  │ Mixed          │     5 ns │    10 ns │     5 ns │     7 ns │    10 ns │
  │ Read-Heavy     │     2 ns │     3 ns │     3 ns │     4 ns │     6 ns │
  │ Write-Heavy    │    10 ns │    14 ns │    15 ns │     9 ns │    11 ns │
  │ Update-Heavy   │     5 ns │     6 ns │     7 ns │     7 ns │     9 ns │
  │ Zipfian        │     4 ns │     9 ns │     5 ns │     8 ns │     6 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  3K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    14 ns │    11 ns │    15 ns │    11 ns │    15 ns │
  │ Seq. Insert    │    14 ns │    11 ns │    15 ns │    11 ns │    16 ns │
  │ Reserved Ins.  │     6 ns │    11 ns │    16 ns │    14 ns │     6 ns │
  │ Update         │     5 ns │     4 ns │     5 ns │     8 ns │     9 ns │
  │ Rand. Lookup   │     5 ns │     6 ns │     3 ns │     5 ns │    15 ns │
  │ High Load      │     3 ns │     7 ns │     3 ns │     6 ns │    13 ns │
  │ Lookup Miss    │     2 ns │     5 ns │     2 ns │     4 ns │    12 ns │
  │ Tombstone      │     7 ns │    13 ns │     5 ns │    13 ns │    17 ns │
  │ Delete         │     3 ns │    10 ns │     4 ns │     8 ns │     7 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │    10 ns │    20 ns │    11 ns │    27 ns │    30 ns │
  │ Mixed          │     9 ns │    10 ns │     7 ns │    11 ns │    12 ns │
  │ Read-Heavy     │     4 ns │     4 ns │     3 ns │     7 ns │     9 ns │
  │ Write-Heavy    │    23 ns │    17 ns │    17 ns │    16 ns │    20 ns │
  │ Update-Heavy   │     8 ns │     6 ns │     7 ns │    11 ns │    12 ns │
  │ Zipfian        │     7 ns │     9 ns │     8 ns │    12 ns │     9 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  100K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    34 ns │    15 ns │    19 ns │    28 ns │    26 ns │
  │ Seq. Insert    │    32 ns │    14 ns │    19 ns │    27 ns │    27 ns │
  │ Reserved Ins.  │    15 ns │    14 ns │    18 ns │    27 ns │    14 ns │
  │ Update         │     9 ns │     7 ns │    10 ns │    15 ns │    14 ns │
  │ Rand. Lookup   │     8 ns │     6 ns │     7 ns │    18 ns │    13 ns │
  │ High Load      │     8 ns │     7 ns │     7 ns │    17 ns │    13 ns │
  │ Lookup Miss    │     9 ns │     6 ns │     4 ns │     8 ns │    18 ns │
  │ Tombstone      │    15 ns │    17 ns │     9 ns │    26 ns │    26 ns │
  │ Delete         │     7 ns │    14 ns │     6 ns │    19 ns │    10 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     2 ns │
  │ Churn          │    27 ns │    29 ns │    27 ns │    38 ns │    43 ns │
  │ Mixed          │    17 ns │    15 ns │    13 ns │    28 ns │    22 ns │
  │ Read-Heavy     │    11 ns │     8 ns │     8 ns │    21 ns │    15 ns │
  │ Write-Heavy    │    53 ns │    28 ns │    28 ns │    41 ns │    35 ns │
  │ Update-Heavy   │    17 ns │    11 ns │    15 ns │    25 ns │    20 ns │
  │ Zipfian        │    15 ns │    13 ns │    11 ns │    25 ns │    15 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

════════════════════════════════════════════════════════════════════════════════
  u32 key → 64B value
════════════════════════════════════════════════════════════════════════════════

  100 elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    21 ns │    22 ns │    27 ns │    23 ns │    19 ns │
  │ Seq. Insert    │    15 ns │    18 ns │    21 ns │    18 ns │    17 ns │
  │ Reserved Ins.  │    11 ns │    19 ns │    23 ns │    20 ns │    12 ns │
  │ Update         │    13 ns │    15 ns │    16 ns │    15 ns │    14 ns │
  │ Rand. Lookup   │     4 ns │     6 ns │     2 ns │     3 ns │    17 ns │
  │ High Load      │     3 ns │     5 ns │     2 ns │     3 ns │    15 ns │
  │ Lookup Miss    │     1 ns │     7 ns │     2 ns │     4 ns │    14 ns │
  │ Tombstone      │     9 ns │    17 ns │    11 ns │    13 ns │    15 ns │
  │ Delete         │     3 ns │    13 ns │     6 ns │     8 ns │     5 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │    11 ns │    26 ns │    30 ns │    16 ns │    15 ns │
  │ Mixed          │     6 ns │    14 ns │     8 ns │    10 ns │    11 ns │
  │ Read-Heavy     │     4 ns │     4 ns │     3 ns │    11 ns │     7 ns │
  │ Write-Heavy    │    16 ns │    19 ns │    22 ns │    16 ns │    15 ns │
  │ Update-Heavy   │    12 ns │    15 ns │    16 ns │    17 ns │    18 ns │
  │ Zipfian        │     6 ns │    13 ns │     8 ns │    11 ns │     8 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  3K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    30 ns │    27 ns │    27 ns │    22 ns │    23 ns │
  │ Seq. Insert    │    24 ns │    22 ns │    27 ns │    20 ns │    24 ns │
  │ Reserved Ins.  │    14 ns │    25 ns │    29 ns │    22 ns │    13 ns │
  │ Update         │    16 ns │    18 ns │    18 ns │    15 ns │    18 ns │
  │ Rand. Lookup   │     5 ns │     8 ns │     4 ns │     7 ns │    24 ns │
  │ High Load      │     4 ns │     6 ns │     3 ns │     5 ns │    18 ns │
  │ Lookup Miss    │     2 ns │     4 ns │     2 ns │     5 ns │    13 ns │
  │ Tombstone      │    11 ns │    16 ns │    10 ns │    18 ns │    19 ns │
  │ Delete         │     4 ns │    11 ns │     4 ns │    10 ns │     7 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │    13 ns │    22 ns │    12 ns │    18 ns │    30 ns │
  │ Mixed          │    10 ns │    12 ns │     9 ns │    14 ns │    14 ns │
  │ Read-Heavy     │     6 ns │     5 ns │     4 ns │    10 ns │     9 ns │
  │ Write-Heavy    │    40 ns │    24 ns │    29 ns │    24 ns │    26 ns │
  │ Update-Heavy   │    19 ns │    19 ns │    18 ns │    17 ns │    19 ns │
  │ Zipfian        │     8 ns │    11 ns │     9 ns │    14 ns │    10 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  100K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │   125 ns │    75 ns │    82 ns │    40 ns │    64 ns │
  │ Seq. Insert    │   118 ns │    71 ns │    54 ns │    37 ns │    68 ns │
  │ Reserved Ins.  │    30 ns │    43 ns │    51 ns │    40 ns │    23 ns │
  │ Update         │    31 ns │    32 ns │    37 ns │    26 ns │    27 ns │
  │ Rand. Lookup   │    11 ns │    13 ns │    13 ns │    22 ns │    13 ns │
  │ High Load      │    12 ns │    14 ns │    16 ns │    22 ns │    14 ns │
  │ Lookup Miss    │     8 ns │     7 ns │     4 ns │     8 ns │    17 ns │
  │ Tombstone      │    23 ns │    29 ns │    26 ns │    29 ns │    31 ns │
  │ Delete         │     9 ns │    19 ns │    13 ns │    20 ns │    10 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     2 ns │
  │ Churn          │    32 ns │    31 ns │    34 ns │    41 ns │    46 ns │
  │ Mixed          │    23 ns │    22 ns │    22 ns │    37 ns │    25 ns │
  │ Read-Heavy     │    15 ns │    16 ns │    14 ns │    25 ns │    17 ns │
  │ Write-Heavy    │    99 ns │    84 ns │    97 ns │    66 ns │    77 ns │
  │ Update-Heavy   │    42 ns │    38 ns │    44 ns │    47 ns │    34 ns │
  │ Zipfian        │    17 ns │    22 ns │    18 ns │    30 ns │    18 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

╔══════════════════════════════════════════════════════════════════════════════╗
║                           u64 Integer Keys                                   ║
╚══════════════════════════════════════════════════════════════════════════════╝

════════════════════════════════════════════════════════════════════════════════
  u64 key → void (set) value
════════════════════════════════════════════════════════════════════════════════

  100 elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    14 ns │    15 ns │    15 ns │    13 ns │    10 ns │
  │ Seq. Insert    │     7 ns │    12 ns │    12 ns │    10 ns │     9 ns │
  │ Reserved Ins.  │     5 ns │    13 ns │    14 ns │    11 ns │     4 ns │
  │ Update         │     3 ns │     4 ns │     3 ns │     5 ns │     4 ns │
  │ Rand. Lookup   │     2 ns │     5 ns │     2 ns │     3 ns │     7 ns │
  │ High Load      │     3 ns │     4 ns │     2 ns │     3 ns │     6 ns │
  │ Lookup Miss    │     2 ns │     6 ns │     2 ns │     3 ns │     5 ns │
  │ Tombstone      │     5 ns │    16 ns │     6 ns │     7 ns │     9 ns │
  │ Delete         │     2 ns │    14 ns │     6 ns │     6 ns │     3 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │     9 ns │    19 ns │    16 ns │    10 ns │    10 ns │
  │ Mixed          │     4 ns │     9 ns │     5 ns │     7 ns │     6 ns │
  │ Read-Heavy     │     2 ns │     3 ns │     3 ns │     4 ns │     4 ns │
  │ Write-Heavy    │    11 ns │    14 ns │    15 ns │    12 ns │     9 ns │
  │ Update-Heavy   │     4 ns │     5 ns │     3 ns │     9 ns │     7 ns │
  │ Zipfian        │     4 ns │    10 ns │     5 ns │     6 ns │     5 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  3K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    13 ns │    12 ns │    14 ns │    13 ns │    16 ns │
  │ Seq. Insert    │    13 ns │    10 ns │    13 ns │     9 ns │    15 ns │
  │ Reserved Ins.  │     5 ns │    11 ns │    14 ns │    13 ns │     6 ns │
  │ Update         │     4 ns │     4 ns │     3 ns │     9 ns │     9 ns │
  │ Rand. Lookup   │     4 ns │     6 ns │     3 ns │     5 ns │    18 ns │
  │ High Load      │     4 ns │     5 ns │     2 ns │     4 ns │    14 ns │
  │ Lookup Miss    │     2 ns │     4 ns │     2 ns │     4 ns │    12 ns │
  │ Tombstone      │     8 ns │    12 ns │     5 ns │    12 ns │    16 ns │
  │ Delete         │     4 ns │    10 ns │     4 ns │     8 ns │     7 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │     9 ns │    23 ns │     7 ns │    14 ns │    24 ns │
  │ Mixed          │     8 ns │    10 ns │     7 ns │    12 ns │    12 ns │
  │ Read-Heavy     │     5 ns │     3 ns │     3 ns │     7 ns │     9 ns │
  │ Write-Heavy    │    24 ns │    19 ns │    15 ns │    18 ns │    20 ns │
  │ Update-Heavy   │     7 ns │     5 ns │     3 ns │    12 ns │    11 ns │
  │ Zipfian        │     6 ns │     9 ns │     7 ns │    12 ns │     9 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  100K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    31 ns │    14 ns │    17 ns │    28 ns │    25 ns │
  │ Seq. Insert    │    30 ns │    13 ns │    14 ns │    11 ns │    23 ns │
  │ Reserved Ins.  │    15 ns │    14 ns │    17 ns │    28 ns │    13 ns │
  │ Update         │     8 ns │     6 ns │     5 ns │    16 ns │    12 ns │
  │ Rand. Lookup   │     8 ns │     5 ns │     6 ns │    19 ns │    13 ns │
  │ High Load      │     9 ns │     6 ns │     7 ns │    18 ns │    13 ns │
  │ Lookup Miss    │     9 ns │     6 ns │     4 ns │     9 ns │    17 ns │
  │ Tombstone      │    15 ns │    16 ns │     8 ns │    26 ns │    24 ns │
  │ Delete         │     7 ns │    14 ns │     6 ns │    19 ns │     9 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     2 ns │
  │ Churn          │    28 ns │    28 ns │    26 ns │    38 ns │    43 ns │
  │ Mixed          │    18 ns │    14 ns │    12 ns │    28 ns │    23 ns │
  │ Read-Heavy     │    12 ns │     7 ns │     7 ns │    22 ns │    15 ns │
  │ Write-Heavy    │    42 ns │    31 ns │    27 ns │    38 ns │    34 ns │
  │ Update-Heavy   │    17 ns │    10 ns │     9 ns │    27 ns │    18 ns │
  │ Zipfian        │    14 ns │    12 ns │    10 ns │    27 ns │    15 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

════════════════════════════════════════════════════════════════════════════════
  u64 key → 4B value
════════════════════════════════════════════════════════════════════════════════

  100 elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    15 ns │    17 ns │    16 ns │    14 ns │    11 ns │
  │ Seq. Insert    │     8 ns │    12 ns │    14 ns │    11 ns │    10 ns │
  │ Reserved Ins.  │     5 ns │    13 ns │    15 ns │    12 ns │     5 ns │
  │ Update         │     3 ns │     4 ns │     6 ns │     3 ns │     5 ns │
  │ Rand. Lookup   │     2 ns │     6 ns │     2 ns │     3 ns │     8 ns │
  │ High Load      │     3 ns │     5 ns │     2 ns │     3 ns │     6 ns │
  │ Lookup Miss    │     2 ns │     5 ns │     2 ns │     3 ns │     6 ns │
  │ Tombstone      │     5 ns │    18 ns │     6 ns │     7 ns │     9 ns │
  │ Delete         │     2 ns │    13 ns │     6 ns │     6 ns │     4 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │     9 ns │    22 ns │    19 ns │    12 ns │    11 ns │
  │ Mixed          │     5 ns │    11 ns │     5 ns │     6 ns │     6 ns │
  │ Read-Heavy     │     2 ns │     3 ns │     3 ns │     3 ns │     4 ns │
  │ Write-Heavy    │    13 ns │    14 ns │    17 ns │    12 ns │     9 ns │
  │ Update-Heavy   │     5 ns │     8 ns │     8 ns │     9 ns │     8 ns │
  │ Zipfian        │     4 ns │    10 ns │     6 ns │     6 ns │     5 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  3K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    16 ns │    12 ns │    17 ns │    17 ns │    18 ns │
  │ Seq. Insert    │    16 ns │    10 ns │    15 ns │    10 ns │    17 ns │
  │ Reserved Ins.  │     6 ns │    12 ns │    17 ns │    16 ns │     7 ns │
  │ Update         │     5 ns │     4 ns │     7 ns │     8 ns │    11 ns │
  │ Rand. Lookup   │     5 ns │     6 ns │     4 ns │     6 ns │    17 ns │
  │ High Load      │     3 ns │     6 ns │     3 ns │     5 ns │    18 ns │
  │ Lookup Miss    │     2 ns │     4 ns │     2 ns │     4 ns │    12 ns │
  │ Tombstone      │     9 ns │    12 ns │     7 ns │    13 ns │    17 ns │
  │ Delete         │     4 ns │    10 ns │     4 ns │     9 ns │     6 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │    10 ns │    21 ns │     9 ns │    14 ns │    27 ns │
  │ Mixed          │     8 ns │    11 ns │     8 ns │    11 ns │    12 ns │
  │ Read-Heavy     │     5 ns │     4 ns │     4 ns │     7 ns │     9 ns │
  │ Write-Heavy    │    25 ns │    19 ns │    19 ns │    20 ns │    22 ns │
  │ Update-Heavy   │     8 ns │     7 ns │     9 ns │    10 ns │    12 ns │
  │ Zipfian        │     7 ns │    12 ns │     7 ns │    11 ns │    10 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  100K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    33 ns │    14 ns │    20 ns │    30 ns │    27 ns │
  │ Seq. Insert    │    32 ns │    13 ns │    16 ns │    13 ns │    24 ns │
  │ Reserved Ins.  │    16 ns │    14 ns │    20 ns │    30 ns │    14 ns │
  │ Update         │    10 ns │     6 ns │    10 ns │    14 ns │    14 ns │
  │ Rand. Lookup   │     9 ns │     7 ns │     8 ns │    18 ns │    13 ns │
  │ High Load      │    10 ns │     7 ns │     8 ns │    17 ns │    13 ns │
  │ Lookup Miss    │     9 ns │     6 ns │     4 ns │     8 ns │    17 ns │
  │ Tombstone      │    16 ns │    16 ns │     9 ns │    27 ns │    25 ns │
  │ Delete         │     7 ns │    17 ns │     9 ns │    25 ns │    11 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     3 ns │
  │ Churn          │    35 ns │    29 ns │    29 ns │    41 ns │    45 ns │
  │ Mixed          │    22 ns │    16 ns │    14 ns │    28 ns │    24 ns │
  │ Read-Heavy     │    14 ns │     8 ns │     9 ns │    22 ns │    15 ns │
  │ Write-Heavy    │    49 ns │    36 ns │    37 ns │    44 ns │    37 ns │
  │ Update-Heavy   │    20 ns │    12 ns │    17 ns │    25 ns │    20 ns │
  │ Zipfian        │    14 ns │    13 ns │    13 ns │    27 ns │    16 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

════════════════════════════════════════════════════════════════════════════════
  u64 key → 64B value
════════════════════════════════════════════════════════════════════════════════

  100 elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    20 ns │    17 ns │    20 ns │    17 ns │    14 ns │
  │ Seq. Insert    │    13 ns │    15 ns │    19 ns │    18 ns │    14 ns │
  │ Reserved Ins.  │     7 ns │    15 ns │    19 ns │    16 ns │     6 ns │
  │ Update         │     6 ns │     7 ns │     9 ns │     6 ns │     8 ns │
  │ Rand. Lookup   │     3 ns │     6 ns │     2 ns │     3 ns │     7 ns │
  │ High Load      │     3 ns │     5 ns │     2 ns │     3 ns │     6 ns │
  │ Lookup Miss    │     2 ns │     5 ns │     2 ns │     3 ns │     5 ns │
  │ Tombstone      │     6 ns │    15 ns │     8 ns │     9 ns │     9 ns │
  │ Delete         │     2 ns │    13 ns │     6 ns │     6 ns │     3 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │    10 ns │    22 ns │    21 ns │    12 ns │    13 ns │
  │ Mixed          │     5 ns │    11 ns │    10 ns │     7 ns │     6 ns │
  │ Read-Heavy     │     2 ns │     4 ns │     3 ns │     4 ns │     4 ns │
  │ Write-Heavy    │    16 ns │    16 ns │    20 ns │    15 ns │    11 ns │
  │ Update-Heavy   │     7 ns │     9 ns │     9 ns │    12 ns │    14 ns │
  │ Zipfian        │     4 ns │     9 ns │     6 ns │     6 ns │     5 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  3K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    20 ns │    14 ns │    23 ns │    20 ns │    20 ns │
  │ Seq. Insert    │    21 ns │    17 ns │    25 ns │    19 ns │    22 ns │
  │ Reserved Ins.  │     8 ns │    17 ns │    26 ns │    21 ns │     9 ns │
  │ Update         │    10 ns │     7 ns │    10 ns │    11 ns │    13 ns │
  │ Rand. Lookup   │     6 ns │     9 ns │     5 ns │     7 ns │    22 ns │
  │ High Load      │     4 ns │     6 ns │     4 ns │     5 ns │    21 ns │
  │ Lookup Miss    │     2 ns │     5 ns │     2 ns │     5 ns │    12 ns │
  │ Tombstone      │    11 ns │    13 ns │     8 ns │    15 ns │    17 ns │
  │ Delete         │     4 ns │    10 ns │     5 ns │    10 ns │     7 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │    12 ns │    22 ns │    11 ns │    17 ns │    26 ns │
  │ Mixed          │     9 ns │    12 ns │     9 ns │    14 ns │    14 ns │
  │ Read-Heavy     │     5 ns │     5 ns │     4 ns │     8 ns │     9 ns │
  │ Write-Heavy    │    33 ns │    28 ns │    30 ns │    25 ns │    28 ns │
  │ Update-Heavy   │    12 ns │    10 ns │    11 ns │    17 ns │    14 ns │
  │ Zipfian        │     9 ns │    10 ns │     9 ns │    12 ns │    10 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  100K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    92 ns │    59 ns │    49 ns │    39 ns │    62 ns │
  │ Seq. Insert    │    71 ns │    51 ns │    57 ns │    26 ns │    48 ns │
  │ Reserved Ins.  │    27 ns │    37 ns │    52 ns │    38 ns │    20 ns │
  │ Update         │    22 ns │    15 ns │    24 ns │    19 ns │    19 ns │
  │ Rand. Lookup   │    14 ns │    14 ns │    19 ns │    23 ns │    13 ns │
  │ High Load      │    13 ns │    16 ns │    19 ns │    23 ns │    14 ns │
  │ Lookup Miss    │     9 ns │     7 ns │     4 ns │     8 ns │    17 ns │
  │ Tombstone      │    23 ns │    27 ns │    21 ns │    28 ns │    27 ns │
  │ Delete         │    11 ns │    24 ns │    17 ns │    20 ns │     9 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     2 ns │
  │ Churn          │    34 ns │    33 ns │    35 ns │    42 ns │    47 ns │
  │ Mixed          │    25 ns │    24 ns │    23 ns │    35 ns │    31 ns │
  │ Read-Heavy     │    18 ns │    18 ns │    18 ns │    27 ns │    18 ns │
  │ Write-Heavy    │   106 ns │    78 ns │    88 ns │    71 ns │    74 ns │
  │ Update-Heavy   │    30 ns │    25 ns │    34 ns │    37 ns │    32 ns │
  │ Zipfian        │    21 ns │    22 ns │    19 ns │    32 ns │    21 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

╔══════════════════════════════════════════════════════════════════════════════╗
║                    String Keys (Random Length 8-64 chars)                    ║
╚══════════════════════════════════════════════════════════════════════════════╝

════════════════════════════════════════════════════════════════════════════════
  string key → void (set) value
════════════════════════════════════════════════════════════════════════════════

  100 elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    28 ns │    25 ns │    19 ns │    26 ns │    23 ns │
  │ Seq. Insert    │    20 ns │    23 ns │    17 ns │    23 ns │    21 ns │
  │ Reserved Ins.  │    11 ns │    22 ns │    16 ns │    23 ns │     8 ns │
  │ Update         │     9 ns │    29 ns │    26 ns │    33 ns │    10 ns │
  │ Rand. Lookup   │    15 ns │    13 ns │     7 ns │     9 ns │    15 ns │
  │ High Load      │     8 ns │    11 ns │     7 ns │     9 ns │    13 ns │
  │ Lookup Miss    │     6 ns │    11 ns │     5 ns │     8 ns │    13 ns │
  │ Tombstone      │    11 ns │    33 ns │    18 ns │    29 ns │    15 ns │
  │ Delete         │     9 ns │    37 ns │    28 ns │    35 ns │     9 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │    16 ns │    38 ns │    27 ns │    33 ns │    22 ns │
  │ Mixed          │    10 ns │    41 ns │    37 ns │    42 ns │    12 ns │
  │ Read-Heavy     │     8 ns │    30 ns │    29 ns │    31 ns │    11 ns │
  │ Write-Heavy    │    32 ns │    36 ns │    29 ns │    32 ns │    24 ns │
  │ Update-Heavy   │    10 ns │    32 ns │    30 ns │    42 ns │    22 ns │
  │ Zipfian        │    11 ns │    40 ns │    35 ns │    41 ns │    11 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  3K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    43 ns │    27 ns │    19 ns │    34 ns │    40 ns │
  │ Seq. Insert    │    44 ns │    29 ns │    21 ns │    35 ns │    40 ns │
  │ Reserved Ins.  │    14 ns │    29 ns │    20 ns │    35 ns │    12 ns │
  │ Update         │    16 ns │    36 ns │    34 ns │    50 ns │    19 ns │
  │ Rand. Lookup   │    27 ns │    21 ns │    18 ns │    26 ns │    43 ns │
  │ High Load      │    22 ns │    21 ns │    15 ns │    24 ns │    41 ns │
  │ Lookup Miss    │    15 ns │    13 ns │     7 ns │    15 ns │    23 ns │
  │ Tombstone      │    21 ns │    33 ns │    23 ns │    49 ns │    27 ns │
  │ Delete         │    16 ns │    41 ns │    36 ns │    55 ns │    18 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     2 ns │
  │ Churn          │    28 ns │    43 ns │    33 ns │    51 ns │    35 ns │
  │ Mixed          │    28 ns │    54 ns │    50 ns │    68 ns │    30 ns │
  │ Read-Heavy     │    20 ns │    40 ns │    39 ns │    52 ns │    23 ns │
  │ Write-Heavy    │    74 ns │    61 ns │    54 ns │    70 ns │    54 ns │
  │ Update-Heavy   │    22 ns │    43 ns │    43 ns │    59 ns │    24 ns │
  │ Zipfian        │    22 ns │    52 ns │    49 ns │    63 ns │    24 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  100K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    73 ns │    42 ns │    34 ns │    54 ns │    53 ns │
  │ Seq. Insert    │    74 ns │    41 ns │    33 ns │    53 ns │    53 ns │
  │ Reserved Ins.  │    35 ns │    41 ns │    34 ns │    54 ns │    22 ns │
  │ Update         │    22 ns │    43 ns │    43 ns │    59 ns │    23 ns │
  │ Rand. Lookup   │    47 ns │    94 ns │    90 ns │   124 ns │    48 ns │
  │ High Load      │    52 ns │    90 ns │    90 ns │   113 ns │    49 ns │
  │ Lookup Miss    │    21 ns │    15 ns │    12 ns │    19 ns │    28 ns │
  │ Tombstone      │    36 ns │    40 ns │    32 ns │    60 ns │    31 ns │
  │ Delete         │    26 ns │    48 ns │    43 ns │    62 ns │    23 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     2 ns │
  │ Churn          │    85 ns │    83 ns │    78 ns │    91 ns │    75 ns │
  │ Mixed          │    67 ns │   116 ns │   104 ns │   142 ns │    67 ns │
  │ Read-Heavy     │    57 ns │    91 ns │    85 ns │   113 ns │    48 ns │
  │ Write-Heavy    │   220 ns │   195 ns │   166 ns │   183 ns │   163 ns │
  │ Update-Heavy   │    63 ns │    89 ns │   104 ns │   127 ns │    55 ns │
  │ Zipfian        │    55 ns │    88 ns │    84 ns │   110 ns │    47 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

════════════════════════════════════════════════════════════════════════════════
  string key → 4B value
════════════════════════════════════════════════════════════════════════════════

  100 elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    24 ns │    27 ns │    19 ns │    20 ns │    25 ns │
  │ Seq. Insert    │    20 ns │    24 ns │    17 ns │    17 ns │    21 ns │
  │ Reserved Ins.  │    10 ns │    24 ns │    17 ns │    17 ns │     8 ns │
  │ Update         │     9 ns │    34 ns │    32 ns │    31 ns │     9 ns │
  │ Rand. Lookup   │    12 ns │    12 ns │     8 ns │    10 ns │    15 ns │
  │ High Load      │     8 ns │    10 ns │     7 ns │     9 ns │    13 ns │
  │ Lookup Miss    │     7 ns │    10 ns │     5 ns │     8 ns │    13 ns │
  │ Tombstone      │    11 ns │    32 ns │    20 ns │    26 ns │    15 ns │
  │ Delete         │     9 ns │    39 ns │    30 ns │    37 ns │     9 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │    16 ns │    40 ns │    30 ns │    31 ns │    22 ns │
  │ Mixed          │    10 ns │    44 ns │    41 ns │    42 ns │    13 ns │
  │ Read-Heavy     │     9 ns │    33 ns │    32 ns │    33 ns │    10 ns │
  │ Write-Heavy    │    23 ns │    40 ns │    36 ns │    30 ns │    25 ns │
  │ Update-Heavy   │    11 ns │    37 ns │    35 ns │    39 ns │    23 ns │
  │ Zipfian        │    10 ns │    43 ns │    39 ns │    41 ns │    12 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  3K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    42 ns │    30 ns │    23 ns │    33 ns │    41 ns │
  │ Seq. Insert    │    44 ns │    30 ns │    23 ns │    33 ns │    40 ns │
  │ Reserved Ins.  │    13 ns │    30 ns │    23 ns │    35 ns │    15 ns │
  │ Update         │    16 ns │    38 ns │    37 ns │    44 ns │    19 ns │
  │ Rand. Lookup   │    40 ns │    22 ns │    15 ns │    23 ns │    49 ns │
  │ High Load      │    22 ns │    23 ns │    20 ns │    24 ns │    42 ns │
  │ Lookup Miss    │    15 ns │    12 ns │     9 ns │    15 ns │    23 ns │
  │ Tombstone      │    22 ns │    33 ns │    23 ns │    47 ns │    23 ns │
  │ Delete         │    19 ns │    41 ns │    35 ns │    54 ns │    18 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     2 ns │
  │ Churn          │    28 ns │    44 ns │    34 ns │    48 ns │    35 ns │
  │ Mixed          │    26 ns │    56 ns │    55 ns │    66 ns │    31 ns │
  │ Read-Heavy     │    21 ns │    43 ns │    45 ns │    50 ns │    23 ns │
  │ Write-Heavy    │    63 ns │    72 ns │    51 ns │    61 ns │    60 ns │
  │ Update-Heavy   │    23 ns │    45 ns │    43 ns │    52 ns │    25 ns │
  │ Zipfian        │    26 ns │    53 ns │    49 ns │    63 ns │    26 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  100K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    84 ns │    54 ns │    40 ns │    48 ns │    57 ns │
  │ Seq. Insert    │    90 ns │    56 ns │    34 ns │    49 ns │    59 ns │
  │ Reserved Ins.  │    36 ns │    57 ns │    44 ns │    48 ns │    23 ns │
  │ Update         │    29 ns │    45 ns │    45 ns │    53 ns │    24 ns │
  │ Rand. Lookup   │    56 ns │   106 ns │   103 ns │   135 ns │    49 ns │
  │ High Load      │    58 ns │   116 ns │    94 ns │   121 ns │    51 ns │
  │ Lookup Miss    │    22 ns │    16 ns │    12 ns │    19 ns │    28 ns │
  │ Tombstone      │    35 ns │    42 ns │    32 ns │    58 ns │    31 ns │
  │ Delete         │    29 ns │    52 ns │    46 ns │    63 ns │    23 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     2 ns │
  │ Churn          │    77 ns │    92 ns │    85 ns │    99 ns │    81 ns │
  │ Mixed          │    72 ns │   116 ns │   122 ns │   140 ns │    72 ns │
  │ Read-Heavy     │    67 ns │   102 ns │    96 ns │   114 ns │    55 ns │
  │ Write-Heavy    │   238 ns │   264 ns │   166 ns │   167 ns │   175 ns │
  │ Update-Heavy   │    72 ns │   109 ns │   105 ns │   124 ns │    65 ns │
  │ Zipfian        │    55 ns │   102 ns │    85 ns │   112 ns │    50 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

════════════════════════════════════════════════════════════════════════════════
  string key → 64B value
════════════════════════════════════════════════════════════════════════════════

  100 elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    27 ns │    33 ns │    21 ns │    23 ns │    26 ns │
  │ Seq. Insert    │    25 ns │    31 ns │    25 ns │    24 ns │    25 ns │
  │ Reserved Ins.  │    11 ns │    28 ns │    20 ns │    20 ns │     9 ns │
  │ Update         │    12 ns │    37 ns │    33 ns │    34 ns │    12 ns │
  │ Rand. Lookup   │    14 ns │    14 ns │     8 ns │    11 ns │    16 ns │
  │ High Load      │     9 ns │    11 ns │     7 ns │    10 ns │    14 ns │
  │ Lookup Miss    │     7 ns │    11 ns │     5 ns │     8 ns │    13 ns │
  │ Tombstone      │    11 ns │    35 ns │    21 ns │    28 ns │    15 ns │
  │ Delete         │     9 ns │    39 ns │    31 ns │    38 ns │    10 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │    16 ns │    41 ns │    31 ns │    33 ns │    23 ns │
  │ Mixed          │    11 ns │    47 ns │    42 ns │    43 ns │    13 ns │
  │ Read-Heavy     │    10 ns │    34 ns │    33 ns │    33 ns │    11 ns │
  │ Write-Heavy    │    24 ns │    43 ns │    35 ns │    33 ns │    26 ns │
  │ Update-Heavy   │    13 ns │    39 ns │    36 ns │    41 ns │    26 ns │
  │ Zipfian        │    11 ns │    44 ns │    39 ns │    41 ns │    11 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  3K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    50 ns │    37 ns │    29 ns │    38 ns │    47 ns │
  │ Seq. Insert    │    53 ns │    40 ns │    33 ns │    38 ns │    46 ns │
  │ Reserved Ins.  │    16 ns │    32 ns │    27 ns │    38 ns │    16 ns │
  │ Update         │    24 ns │    43 ns │    39 ns │    46 ns │    26 ns │
  │ Rand. Lookup   │    49 ns │    22 ns │    15 ns │    23 ns │    45 ns │
  │ High Load      │    25 ns │    21 ns │    15 ns │    22 ns │    44 ns │
  │ Lookup Miss    │    15 ns │    15 ns │     7 ns │    14 ns │    23 ns │
  │ Tombstone      │    23 ns │    41 ns │    28 ns │    47 ns │    25 ns │
  │ Delete         │    17 ns │    48 ns │    38 ns │    53 ns │    18 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     2 ns │
  │ Churn          │    31 ns │    49 ns │    36 ns │    52 ns │    38 ns │
  │ Mixed          │    33 ns │    62 ns │    56 ns │    78 ns │    32 ns │
  │ Read-Heavy     │    25 ns │    46 ns │    50 ns │    56 ns │    25 ns │
  │ Write-Heavy    │    80 ns │    73 ns │    64 ns │    71 ns │    66 ns │
  │ Update-Heavy   │    28 ns │    55 ns │    49 ns │    60 ns │    31 ns │
  │ Zipfian        │    26 ns │    56 ns │    54 ns │    68 ns │    25 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

  100K elements:
  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │   134 ns │    82 ns │    81 ns │    58 ns │   100 ns │
  │ Seq. Insert    │   155 ns │    95 ns │    95 ns │    64 ns │   106 ns │
  │ Reserved Ins.  │    53 ns │    96 ns │    81 ns │    58 ns │    32 ns │
  │ Update         │    59 ns │    72 ns │    77 ns │    54 ns │    47 ns │
  │ Rand. Lookup   │    90 ns │   183 ns │   183 ns │   214 ns │    70 ns │
  │ High Load      │    85 ns │   177 ns │   172 ns │   206 ns │    66 ns │
  │ Lookup Miss    │    30 ns │    19 ns │    14 ns │    19 ns │    27 ns │
  │ Tombstone      │    51 ns │    69 ns │    65 ns │    58 ns │    45 ns │
  │ Delete         │    38 ns │    85 ns │    80 ns │    63 ns │    24 ns │
  │ Iteration      │     2 ns │     2 ns │     1 ns │     0 ns │     2 ns │
  │ Churn          │   112 ns │   112 ns │   119 ns │   149 ns │   107 ns │
  │ Mixed          │   107 ns │   176 ns │   158 ns │   201 ns │    91 ns │
  │ Read-Heavy     │    87 ns │   175 ns │   150 ns │   198 ns │    75 ns │
  │ Write-Heavy    │   278 ns │   272 ns │   213 ns │   204 ns │   229 ns │
  │ Update-Heavy   │   112 ns │   171 ns │   161 ns │   207 ns │    99 ns │
  │ Zipfian        │    80 ns │   149 ns │   145 ns │   222 ns │    61 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

╔══════════════════════════════════════════════════════════════════════════════╗
║                    OVERALL AVERAGE (All Key/Value/Size Combinations)         ║
╚══════════════════════════════════════════════════════════════════════════════╝

════════════════════════════════════════════════════════════════════════════════
  Average of all 27 configurations (3 key types × 3 value types × 3 sizes)
════════════════════════════════════════════════════════════════════════════════

  ┌────────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Operation      │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├────────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ Rand. Insert   │    39 ns │    27 ns │    26 ns │    26 ns │    30 ns │
  │ Seq. Insert    │    37 ns │    26 ns │    25 ns │    23 ns │    29 ns │
  │ Reserved Ins.  │    14 ns │    24 ns │    24 ns │    25 ns │    12 ns │
  │ Update         │    13 ns │    19 ns │    20 ns │    22 ns │    14 ns │
  │ Rand. Lookup   │    16 ns │    22 ns │    19 ns │    27 ns │    22 ns │
  │ High Load      │    14 ns │    22 ns │    19 ns │    25 ns │    21 ns │
  │ Lookup Miss    │     7 ns │     8 ns │     4 ns │     8 ns │    15 ns │
  │ Tombstone      │    15 ns │    24 ns │    15 ns │    25 ns │    20 ns │
  │ Delete         │     9 ns │    24 ns │    17 ns │    25 ns │    10 ns │
  │ Iteration      │     2 ns │     1 ns │     1 ns │     0 ns │     1 ns │
  │ Churn          │    26 ns │    36 ns │    30 ns │    37 ns │    34 ns │
  │ Mixed          │    21 ns │    35 ns │    31 ns │    41 ns │    23 ns │
  │ Read-Heavy     │    15 ns │    26 ns │    24 ns │    33 ns │    17 ns │
  │ Write-Heavy    │    61 ns │    57 ns │    49 ns │    49 ns │    48 ns │
  │ Update-Heavy   │    21 ns │    30 ns │    30 ns │    39 ns │    24 ns │
  │ Zipfian        │    17 ns │    31 ns │    27 ns │    38 ns │    16 ns │
  └────────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

╔══════════════════════════════════════════════════════════════════════════════╗
║                         Memory Usage Comparison                              ║
╚══════════════════════════════════════════════════════════════════════════════╝

════════════════════════════════════════════════════════════════════════════════
  u32 key → void (set)
════════════════════════════════════════════════════════════════════════════════
  ┌──────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Size         │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├──────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ 1K           │  12.0 KB │   8.0 KB │   7.5 KB │   8.1 KB │  10.0 KB │
  │ 100K         │ 768.0 KB │ 512.0 KB │ 480.0 KB │ 512.1 KB │ 640.0 KB │
  │ 1M           │  12.0 MB │   8.0 MB │   7.5 MB │   8.0 MB │  10.0 MB │
  └──────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

════════════════════════════════════════════════════════════════════════════════
  u32 key → 4B value
════════════════════════════════════════════════════════════════════════════════
  ┌──────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Size         │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├──────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ 1K           │  20.0 KB │  16.0 KB │  15.0 KB │  16.1 KB │  18.0 KB │
  │ 100K         │   1.3 MB │   1.0 MB │ 960.0 KB │   1.0 MB │   1.1 MB │
  │ 1M           │  20.0 MB │  16.0 MB │  15.0 MB │  16.0 MB │  18.0 MB │
  └──────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

════════════════════════════════════════════════════════════════════════════════
  u64 key → void (set)
════════════════════════════════════════════════════════════════════════════════
  ┌──────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Size         │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├──────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ 1K           │  20.0 KB │  16.0 KB │  15.0 KB │  16.1 KB │  18.0 KB │
  │ 100K         │   1.3 MB │   1.0 MB │ 960.0 KB │   1.0 MB │   1.1 MB │
  │ 1M           │  20.0 MB │  16.0 MB │  15.0 MB │  16.0 MB │  18.0 MB │
  └──────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

════════════════════════════════════════════════════════════════════════════════
  u64 key → 4B value
════════════════════════════════════════════════════════════════════════════════
  ┌──────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Size         │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├──────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ 1K           │  36.0 KB │  32.0 KB │  30.0 KB │  32.1 KB │  26.0 KB │
  │ 100K         │   2.3 MB │   2.0 MB │   1.9 MB │   2.0 MB │   1.6 MB │
  │ 1M           │  36.0 MB │  32.0 MB │  30.0 MB │  32.0 MB │  26.0 MB │
  └──────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

════════════════════════════════════════════════════════════════════════════════
  u64 key → 64B value
════════════════════════════════════════════════════════════════════════════════
  ┌──────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Size         │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├──────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ 1K           │ 148.0 KB │ 144.0 KB │ 135.0 KB │ 144.1 KB │ 146.0 KB │
  │ 100K         │   9.3 MB │   9.0 MB │   8.4 MB │   9.0 MB │   9.1 MB │
  │ 1M           │ 148.0 MB │ 144.0 MB │ 135.0 MB │ 144.0 MB │ 146.0 MB │
  └──────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

════════════════════════════════════════════════════════════════════════════════
  string key → void (set)
════════════════════════════════════════════════════════════════════════════════
  ┌──────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Size         │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├──────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ 1K           │  52.0 KB │  32.0 KB │  30.0 KB │  32.1 KB │  34.0 KB │
  │ 100K         │   3.3 MB │   2.0 MB │   1.9 MB │   2.0 MB │   2.1 MB │
  └──────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

════════════════════════════════════════════════════════════════════════════════
  string key → 4B value
════════════════════════════════════════════════════════════════════════════════
  ┌──────────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
  │ Size         │ This     │ Abseil   │ Boost    │ Ankerl   │ std      │
  ├──────────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
  │ 1K           │  68.0 KB │  48.0 KB │  45.0 KB │  48.1 KB │  42.0 KB │
  │ 100K         │   4.3 MB │   3.0 MB │   2.8 MB │   3.0 MB │   2.6 MB │
  └──────────────┴──────────┴──────────┴──────────┴──────────┴──────────┘