[Supanode](https://supanode.xyz/)[Learn](https://supanode.xyz/learn)Compare raw Solana shred delivery on one receiver

# Compare raw Solana shred delivery on one receiver

Use shred identities and a documented timestamp boundary instead of comparing unlike decoded streams.

**On this page**[Keep raw and decoded stages separate](https://supanode.xyz/learn/benchmark-raw-solana-shreds#keep-raw-and-decoded-stages-separate)[Match packet identity](https://supanode.xyz/learn/benchmark-raw-solana-shreds#match-packet-identity)[Control the receiver](https://supanode.xyz/learn/benchmark-raw-solana-shreds#control-the-receiver)[Keep the conclusion reproducible](https://supanode.xyz/learn/benchmark-raw-solana-shreds#keep-the-conclusion-reproducible)[Sources](https://supanode.xyz/learn/benchmark-raw-solana-shreds#sources)

## Keep raw and decoded stages separate

Raw shreds are ledger fragments. Decoded transactions are a later representation produced after enough fragments are available and parsed. Comparing a raw-packet timestamp from one provider with a decoded-transaction timestamp from another measures two different stages. Use identical representation and capture points for a delivery comparison.

## Match packet identity

```
key = parse_protocol_shred_identity(packet)
arrival[source].setdefault(key, monotonic_ns())
# Compare only identical protocol identities.
# Log duplicates and packets unique to each source separately.
```

The identity must include the fields needed to distinguish shred variants, such as slot, index, type and protocol version context. Do not use packet length or slot alone. Use a validated Solana shred parser rather than inventing byte offsets.

## Control the receiver

1.  Receive both feeds on the same machine and use a consistent userspace or kernel timestamp boundary.
2.  Record receive ports, socket buffers, NIC settings, CPU load and packet-drop counters.
3.  Persist first arrival per source and identity, keeping duplicates as a separate metric.
4.  Report matched coverage and delta distributions together; faster arrival among a small surviving subset is incomplete evidence.

## Keep the conclusion reproducible

A local result describes delivery to this host during the measured window. Routing changes, receiver loss and provider coverage can affect it. Clock synchronization matters when comparing hosts; a single-host monotonic clock avoids one class of cross-machine error but does not isolate every network effect. Publish configuration and sampling rules with the result so someone else can reproduce the experiment.

## Sources

-   [Solana shred implementation](https://github.com/anza-xyz/agave/blob/master/ledger/src/shred.rs)
-   [Jito ShredStream documentation](https://docs.jito.wtf/lowlatencytxnfeed/)
-   [Linux socket timestamping](https://docs.kernel.org/networking/timestamping.html)

## Continue reading

[Solana streaming guide](https://supanode.xyz/blog/solana-data-streaming-guide)[Solana product Docs](https://supanode.xyz/docs/solana/quickstart)[Learn library](https://supanode.xyz/learn)

---
Source: https://supanode.xyz/learn/benchmark-raw-solana-shreds
