Skip to content

feat: bump bgpkit-parser to 0.18.0, use route-level iterator - #14

Merged
digizeph merged 1 commit into
mainfrom
dev/parser-bump
Jul 23, 2026
Merged

feat: bump bgpkit-parser to 0.18.0, use route-level iterator#14
digizeph merged 1 commit into
mainfrom
dev/parser-bump

Conversation

@digizeph

Copy link
Copy Markdown
Member

Summary

Bumps bgpkit-parser to 0.18.0 and switches to the route-level iterator (into_route_iter()) for faster RIB parsing. Also bumps bgpkit-broker to 0.11.0.

Changes

  • parse_rib_file now uses BgpkitParser::new(url)?.into_route_iter() instead of full BgpElem iteration

    • BgpRouteElem provides all fields peer-stats needs: peer_ip, peer_asn, prefix, as_path
    • AS path is Arc<AsPath> — borrowed instead of cloned, eliminating per-path allocation
    • features = ["local"] needed for BgpkitParser::new(url) (oneio decoupled from parser in v0.12)
  • bgpkit-broker 0.7.5 → 0.11.0: adds collectors locix.fra, ixpn.lagos, decix.fra, crix.sjo

Performance

Parser rrc00 bview (Jul 22)
0.11.0 (full BgpElem) 152.3s
0.18.0 (into_route_iter) 123.5s

18.9% faster on bview files. Release notes claim 50–70% on full RIB dumps.

Changelog

Updated with both this PR and the previous collector-output PR (#13).

Verified

  • cargo fmt
  • cargo clippy --all-features -- -D warnings
  • cargo test (all 11 tests) ✓
  • cargo test test_read_rib --release

- Switch parse_rib_file from full BgpElem to into_route_iter()
  19% faster on RIPE RIS bview files; larger gains on full RIB dumps
- Eliminate per-path as_path.clone() by borrowing via Arc
- Bump bgpkit-broker 0.7.5 → 0.11.0 (new collectors, SDK caching)
- bgpkit-parser requires features = ["local"] for BgpkitParser::new(url)
- Update changelog with both PR #13 (collector output) and parser bump
@digizeph
digizeph merged commit 1ceb92e into main Jul 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant