Skip to content

refactor: replace VecDequeue with Vec in stream_chain when applicable#6915

Merged
hanabi1224 merged 1 commit intomainfrom
hm/refactor-stream-chain
Apr 16, 2026
Merged

refactor: replace VecDequeue with Vec in stream_chain when applicable#6915
hanabi1224 merged 1 commit intomainfrom
hm/refactor-stream-chain

Conversation

@hanabi1224
Copy link
Copy Markdown
Contributor

@hanabi1224 hanabi1224 commented Apr 15, 2026

Summary of changes

Follow up on #6885 (comment)

manually tested on calibnet

❯ sha256sum forest_snapshot_calibnet_*
fde46dd2e46917ecc23781f6a05d48697bf621f026a7b4c6bc32b147bb293d6b  forest_snapshot_calibnet_2026-04-15_height_3630900.forest.car.zst.main
fde46dd2e46917ecc23781f6a05d48697bf621f026a7b4c6bc32b147bb293d6b  forest_snapshot_calibnet_2026-04-15_height_3630900.forest.car.zst.pr

Changes introduced in this pull request:

Reference issue to close (if applicable)

Closes

Other information and links

Change checklist

  • I have performed a self-review of my own code,
  • I have made corresponding changes to the documentation. All new code adheres to the team's documentation standards,
  • I have added tests that prove my fix is effective or that my feature works (if possible),
  • I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

Outside contributions

  • I have read and agree to the CONTRIBUTING document.
  • I have read and agree to the AI Policy document. I understand that failure to comply with the guidelines will lead to rejection of the pull request.

@hanabi1224 hanabi1224 marked this pull request as ready for review April 15, 2026 12:04
@hanabi1224 hanabi1224 requested a review from a team as a code owner April 15, 2026 12:04
@hanabi1224 hanabi1224 requested review from LesnyRumcajs and akaladarshi and removed request for a team April 15, 2026 12:04
@LesnyRumcajs
Copy link
Copy Markdown
Member

@hanabi1224 any performance boost/drop on mainnet?

@hanabi1224
Copy link
Copy Markdown
Contributor Author

any performance boost/drop on mainnet?

@LesnyRumcajs No difference observed on calibnet. And I won't expect a significant perf change on mainnet either. Do you need mainnet export time numbers?

@LesnyRumcajs
Copy link
Copy Markdown
Member

any performance boost/drop on mainnet?

@LesnyRumcajs No difference observed on calibnet. And I won't expect a significant perf change on mainnet either. Do you need mainnet export time numbers?

I'd love a mainnet export timings (let's say, 3 on each branch) because calibnet often doesn't surface any issues.

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 63.87%. Comparing base (101befd) to head (d39c68a).
⚠️ Report is 3 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
Files with missing lines Coverage Δ
src/ipld/util.rs 53.97% <100.00%> (-1.68%) ⬇️

... and 4 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 101befd...d39c68a. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@hanabi1224
Copy link
Copy Markdown
Contributor Author

hanabi1224 commented Apr 16, 2026

I'd love a mainnet export timings (let's say, 3 on each branch) because calibnet often doesn't surface any issues.

@LesnyRumcajs test on DO droplet (), numbers show slight(~9% actually) performance improvement

# main
➜  snaps for i in {1..3}; do time forest-cli snapshot export --format v1 -d 900 -t 5931700 --dry-run > /dev/null; done
  Exporting v1 snapshot to ./forest_snapshot_mainnet_2026-04-15_height_5931700.forest.car.zst ... 0 B written in 78m (0 B/s)                                                                                                                    forest-cli snapshot export --format v1 -d 900 -t 5931700 --dry-run > /dev/nul  3.52s user 3.12s system 0% cpu 1:17:45.49 total
  Exporting v1 snapshot to ./forest_snapshot_mainnet_2026-04-15_height_5931700.forest.car.zst ... 0 B written in 79m (0 B/s)                                                                                                                    forest-cli snapshot export --format v1 -d 900 -t 5931700 --dry-run > /dev/nul  3.79s user 3.24s system 0% cpu 1:19:03.02 total
  Exporting v1 snapshot to ./forest_snapshot_mainnet_2026-04-15_height_5931700.forest.car.zst ... 0 B written in 82m (0 B/s)                                                                                                                    forest-cli snapshot export --format v1 -d 900 -t 5931700 --dry-run > /dev/nul  3.87s user 3.29s system 0% cpu 1:21:34.21 total
  
 # PR
➜  snaps for i in {1..3}; do time forest-cli snapshot export --format v1 -d 900 -t 5931700 --dry-run > /dev/null; done
  Exporting v1 snapshot to ./forest_snapshot_mainnet_2026-04-15_height_5931700.forest.car.zst ... 0 B written in 73m (0 B/s)                                                                                                                    forest-cli snapshot export --format v1 -d 900 -t 5931700 --dry-run > /dev/nul  3.29s user 2.75s system 0% cpu 1:12:40.20 total
  Exporting v1 snapshot to ./forest_snapshot_mainnet_2026-04-15_height_5931700.forest.car.zst ... 0 B written in 72m (0 B/s)                                                                                                                    forest-cli snapshot export --format v1 -d 900 -t 5931700 --dry-run > /dev/nul  3.29s user 2.72s system 0% cpu 1:12:28.45 total
  Exporting v1 snapshot to ./forest_snapshot_mainnet_2026-04-15_height_5931700.forest.car.zst ... 0 B written in 74m (0 B/s)                                                                                                                    forest-cli snapshot export --format v1 -d 900 -t 5931700 --dry-run > /dev/nul  3.36s user 2.75s system 0% cpu 1:14:12.11 total

@LesnyRumcajs
Copy link
Copy Markdown
Member

I'd love a mainnet export timings (let's say, 3 on each branch) because calibnet often doesn't surface any issues.

@LesnyRumcajs test on DO droplet (), numbers show slight(~9% actually) performance improvement

That's amazing, worth putting in the changelog. ;)

@hanabi1224 hanabi1224 added this pull request to the merge queue Apr 16, 2026
Merged via the queue into main with commit 2c22018 Apr 16, 2026
47 checks passed
@hanabi1224 hanabi1224 deleted the hm/refactor-stream-chain branch April 16, 2026 09:17
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.

2 participants