Skip to content

feat: toolkit perf improvements from #820#939

Merged
gilescope merged 43 commits into
mainfrom
ozgb-toolkit-perf-merge-ready
Mar 18, 2026
Merged

feat: toolkit perf improvements from #820#939
gilescope merged 43 commits into
mainfrom
ozgb-toolkit-perf-merge-ready

Conversation

@ozgb

@ozgb ozgb commented Mar 13, 2026

Copy link
Copy Markdown
Contributor

Overview

Building on #820 to make it merge-ready

  • batch_single_tx now writes to the standard toolkit output file for consistency
  • Add test to ensure trusted deserialization matches upstream Arena::hash
  • Tweak cache dir defaults for better UX

🗹 TODO before merging

  • Ready

📌 Submission Checklist

  • Changes are backward-compatible (or flagged if breaking)
  • Pull request description explains why the change is needed
  • Self-reviewed the diff
  • I have included a change file, or skipped for this reason:
  • If the changes introduce a new feature, I have bumped the node minor version
  • Update documentation (if relevant)
  • Updated AGENTS.md if build commands, architecture, or workflows changed
  • No new todos introduced

🧪 Testing Evidence

Please describe any additional testing aside from CI:

  • Additional tests are provided (if possible)

🔱 Fork Strategy

  • Node Runtime Update
  • Node Client Update
  • Other:
  • N/A

Links

mpskowron and others added 17 commits March 6, 2026 18:20
Adds a round-trip test that deserializes a LedgerState via both the
standard (two-pass verified) and trusted (single-pass) paths, then
asserts they produce identical serialized output. Catches silent
divergence if upstream changes its hash function or format.
Use ordered `buffered` stream, collect results into SerializedTxBatches,
support inline --transfers JSON arg alongside --transfers-file, and
extract transfer spec parsing into BatchSingleTxArgs::get_transfer_specs.

This brings `batch_single_tx` in-line with the other toolkit builders
@github-actions

github-actions Bot commented Mar 13, 2026

Copy link
Copy Markdown
Contributor

kics-logo

KICS version: v2.1.19

Category Results
CRITICAL CRITICAL 0
HIGH HIGH 2
MEDIUM MEDIUM 52
LOW LOW 3
INFO INFO 64
TRACE TRACE 0
TOTAL TOTAL 121
Metric Values
Files scanned placeholder 27
Files parsed placeholder 27
Files failed to scan placeholder 0
Total executed queries placeholder 73
Queries failed to execute placeholder 0
Execution time placeholder 11

@ozgb ozgb marked this pull request as ready for review March 13, 2026 14:53
@ozgb ozgb requested a review from a team as a code owner March 13, 2026 14:53
@ozgb ozgb requested review from LGLO, jsidorenko and mpskowron March 13, 2026 14:53

@gilescope gilescope 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.

LGTM

@gilescope gilescope added this pull request to the merge queue Mar 18, 2026
Merged via the queue into main with commit 515e482 Mar 18, 2026
34 checks passed
m2ux added a commit that referenced this pull request Mar 24, 2026
Re-apply Result error propagation on top of toolkit perf improvements
(#939) which restructured apply_txs_collect_events, verify_state_root,
update_dust_from_events, and update_dust_from_block. Keeps rayon
parallelism from #939 while converting expect/panic to map_err/? in
update_from_block, update_from_tx, apply_txs_collect_events,
verify_state_root, and update_ledger_state_from_bytes.
@gilescope gilescope added this to the node-1.0.0 milestone Apr 10, 2026
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.

4 participants