Skip to content

Fix performance regression in feat/multichain #761

@Wodann

Description

@Wodann

A performance regression of the synthetix benchmark was identified in #755 (GitHub CI).

I did some differential profiling between 6efbd64dd (old) and 682dbc5 (new) but wasn't able to identify the cause yet.

To construct the shown differential flamegraphs, I ran the following commands:

  1. PERF=/workspaces/WSL2-Linux-Kernel/tools/perf/perf CARGO_PROFILE_RELEASE_DEBUG=true cargo flamegraph -o flamegraph_synthetix_old.svg --root --release --post-process "tee synthetix-old.folded" -- scenario synthetix_9a3a109f.jsonl (for the old commit)
  2. PERF=/workspaces/WSL2-Linux-Kernel/tools/perf/perf CARGO_PROFILE_RELEASE_DEBUG=true cargo flamegraph -o flamegraph_synthetix_new.svg --root --release --post-process "tee synthetix-new.folded" -- scenario synthetix_9a3a109f.jsonl (for the new commit)
  3. inferno-diff-folded synthetix-old.folded synthetix-new.folded | inferno-flamegraph --negate > diff2.svg

This was inspired by this blogpost.

diff

diff2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions