Skip to content

Docs: Node comparison report#7346

Open
sudo-shashank wants to merge 24 commits into
mainfrom
shashank/node-comparison-report
Open

Docs: Node comparison report#7346
sudo-shashank wants to merge 24 commits into
mainfrom
shashank/node-comparison-report

Conversation

@sudo-shashank

@sudo-shashank sudo-shashank commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Summary of changes

Changes introduced in this pull request:

  • Added new Node Comparision section under Reports.

Reference issue to close (if applicable)

Closes #5197

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.

Summary by CodeRabbit

  • Documentation
    • Added a new Node Comparison section in the docs navigation.
    • Introduced a Forest vs Lotus overview with a capability comparison and links to supporting reports.
    • Added RPC comparison documentation with measured latency/throughput percentiles, environment details, resource usage notes, and related visualization links.
    • Added Snapshot generation comparison documentation covering export duration, disk/RAM tradeoffs, compatibility details, and compression behavior.

@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Added a Node Comparison documentation section with Forest versus Lotus feature, RPC performance, and snapshot generation comparisons.

Changes

Node comparison documentation

Layer / File(s) Summary
Comparison overview
docs/docs/users/reports/node_comparison/_category_.json, docs/docs/users/reports/node_comparison/index.md
Adds the documentation category, feature comparison table, and links to detailed reports.
RPC performance report
docs/docs/users/reports/node_comparison/rpc_comparison.md
Documents latency, load, concurrency, CPU, memory, figures, and related resources.
Snapshot performance report
docs/docs/users/reports/node_comparison/snapshot_comparison.md
Documents export performance, resource usage, compatibility, compression behavior, and related reports.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Suggested reviewers: hanabi1224

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Linked Issues check ❓ Inconclusive The PR adds comparison docs, but the summary does not confirm all requested criteria like implementation language and pros and cons. Add or confirm those comparison details in the main node comparison page, including implementation language and clear pros/cons.
✅ Passed checks (4 passed)
Check name Status Explanation
Out of Scope Changes check ✅ Passed All added pages and config files stay within the node-comparison documentation scope.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and accurately reflects the added node comparison documentation.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch shashank/node-comparison-report
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch shashank/node-comparison-report

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/docs/users/reports/node_comparison.md (1)

1-132: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Run Prettier before merging.

Docs Check / Check currently fails because this file is not formatted according to Prettier. Run Prettier with --write, then rerun the documentation checks.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/docs/users/reports/node_comparison.md` around lines 1 - 132, Format the
Node Comparison documentation with Prettier using write mode, then rerun the
documentation checks and ensure the file passes without formatting errors.

Source: Pipeline failures

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/docs/users/reports/node_comparison.md`:
- Around line 121-123: Update the snapshot compression note to distinguish Lotus
export output in this benchmark from Lotus snapshots generally. Remove the claim
that Lotus snapshots are uncompressed, and align the wording with
snapshot_service.md by stating that snapshots are zstd-compressed and readable
by both Forest and Lotus.
- Line 11: Update the version references in the node comparison documentation so
the environment versions and snapshot benchmark versions are aligned, or
explicitly label the snapshot figures as a separate historical benchmark with
Forest 0.33.6 and Lotus 1.36.0. Ensure the 7–13x conclusion clearly refers to
the correct releases.

---

Outside diff comments:
In `@docs/docs/users/reports/node_comparison.md`:
- Around line 1-132: Format the Node Comparison documentation with Prettier
using write mode, then rerun the documentation checks and ensure the file passes
without formatting errors.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 66f9a67b-da56-4636-9488-086ade311903

📥 Commits

Reviewing files that changed from the base of the PR and between 17c49db and fa62a21.

⛔ Files ignored due to path filters (16)
  • docs/static/img/reports/node_comparison/average-amortized-latency.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/average-batch-size.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/build-info.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/cpu.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/in-flight-requests.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/memory.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/p50-amortized-latency.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/p50-per-flow-latency.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/p95-amortized-latency.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/p95-per-flow-latency.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/p99-amortized-latency.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/p99-per-flow-latency.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/request-count-batch-aware.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/request-count-http.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/snapshot-export-comparison.png is excluded by !**/*.png
  • docs/static/img/reports/node_comparison/wall-time-per-http-request.png is excluded by !**/*.png
📒 Files selected for processing (2)
  • docs/docs/users/reports/node_comparison.md
  • package.json
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • filecoin-project/lotus (manual)

Comment thread docs/docs/users/reports/node_comparison.md Outdated
Comment thread docs/docs/users/reports/node_comparison.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (1)
docs/docs/users/reports/node_comparison.md (1)

120-129: 🗄️ Data Integrity & Integration | 🟠 Major

Scope the snapshot compression claim to the measured export.

“Lotus snapshots are also not compressed” overgeneralizes the benchmark. State whether each measured export is compressed or uncompressed, and avoid presenting the disk-space difference as an intrinsic Lotus-versus-Forest property. If this benchmark measured uncompressed Lotus export output, say so explicitly.

This follows the linked Lotus findings that compressed CAR inputs are supported.

Also applies to: 136-136

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/docs/users/reports/node_comparison.md` around lines 120 - 129, Update
the note in the snapshot comparison to explicitly state that the measured Lotus
exports produced uncompressed output, and clarify that the disk-space difference
applies only to this benchmark rather than being an intrinsic implementation
property. Retain the distinction that Forest compresses snapshots during export
and that both implementations can consume compressed snapshots.

Source: Linked repositories

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/docs/users/reports/node_comparison.md`:
- Line 8: Expand the node comparison report beyond performance, resource usage,
and snapshots by adding a compact comparison section covering implementation
language, supported features, and other defining properties requested by issue
`#5197`. Alternatively, explicitly narrow the report’s stated scope to exclude
those comparisons.
- Line 120: Update the snapshot benchmark paragraph and its associated table to
align the cited Lotus and Forest versions with the environment versions, or
explicitly label the results as historical benchmarks. Ensure the “7–13x”
performance takeaway preserves and clearly attributes the actual benchmark
versions, including the matching references around the repeated section.

---

Duplicate comments:
In `@docs/docs/users/reports/node_comparison.md`:
- Around line 120-129: Update the note in the snapshot comparison to explicitly
state that the measured Lotus exports produced uncompressed output, and clarify
that the disk-space difference applies only to this benchmark rather than being
an intrinsic implementation property. Retain the distinction that Forest
compresses snapshots during export and that both implementations can consume
compressed snapshots.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 47426223-1377-42db-982b-f94b7b6496cd

📥 Commits

Reviewing files that changed from the base of the PR and between fa62a21 and 0f80b99.

⛔ Files ignored due to path filters (1)
  • docs/static/img/reports/node_comparison/p50-per-flow-latency.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • docs/docs/users/reports/node_comparison.md
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • filecoin-project/lotus (manual)

Comment thread docs/docs/users/reports/node_comparison.md Outdated
Comment thread docs/docs/users/reports/node_comparison.md Outdated
@sudo-shashank
sudo-shashank marked this pull request as ready for review July 13, 2026 13:16
@sudo-shashank
sudo-shashank requested a review from a team as a code owner July 13, 2026 13:16
@sudo-shashank
sudo-shashank requested review from LesnyRumcajs and hanabi1224 and removed request for a team July 13, 2026 13:16

@LesnyRumcajs LesnyRumcajs left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please re-read the task description. It's fine to shill Forest's performance but this was not the gap in documentation we want to close.

Let's:

  • make it less marketing-aggressive. There are certain individuals in the ecosystem that do that already (especially with the help of their sycophant AI companions) and we shouldn't follow their example. Just showing the numbers and explaining them in boring, academic voice is fine.
  • split to two reports - RPC and snapshot generation.
  • this does not close the linked issue - a separate page must be made to address it - with actual feature objective comparison etc., good and bad points. All in all, a new user must be able to decide whether to use Forest or Lotus after reading it.

@sudo-shashank

Copy link
Copy Markdown
Contributor Author

Please re-read the task description. It's fine to shill Forest's performance but this was not the gap in documentation we want to close.

Let's:

  • make it less marketing-aggressive. There are certain individuals in the ecosystem that do that already (especially with the help of their sycophant AI companions) and we shouldn't follow their example. Just showing the numbers and explaining them in boring, academic voice is fine.
  • split to two reports - RPC and snapshot generation.
  • this does not close the linked issue - a separate page must be made to address it - with actual feature objective comparison etc., good and bad points. All in all, a new user must be able to decide whether to use Forest or Lotus after reading it.

Got it. Thanks for the clarification and feedback here I'll make the changes.

@codecov

codecov Bot commented Jul 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 65.04%. Comparing base (a6f303b) to head (1d2376d).
⚠️ Report is 1 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files

see 9 files with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d44ecc7...1d2376d. 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.

@sudo-shashank
sudo-shashank force-pushed the shashank/node-comparison-report branch from 18d1b13 to 68b060e Compare July 15, 2026 01:18
Comment thread docs/docs/users/reports/node_comparison/index.md Outdated
Comment thread docs/docs/users/reports/node_comparison/index.md Outdated
Comment thread docs/docs/users/reports/node_comparison/index.md Outdated
Comment thread docs/static/img/reports/rpc_comparison/average-batch-size.png Outdated
Comment thread docs/static/img/reports/rpc_comparison/build-info.png Outdated
Comment thread docs/docs/users/reports/node_comparison/snapshot_comparison.md
Comment thread docs/docs/users/reports/node_comparison/snapshot_comparison.md Outdated

@LesnyRumcajs LesnyRumcajs left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It makes sense to run any descriptions through some Grammarly to tweak up the language.

Comment thread docs/docs/users/reports/node_comparison/index.md Outdated
Comment thread docs/docs/users/reports/node_comparison/rpc_comparison.md Outdated
Comment thread docs/docs/users/reports/node_comparison/rpc_comparison.md Outdated
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.

Filecoin Nodes comparison

2 participants