Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: tweak debug config for all profiles #6940

Merged
merged 1 commit into from
Jan 29, 2024
Merged

Conversation

DaniPopes
Copy link
Member

  • debug = 1 for debug builds: this is a minor loss (about 10% or 4s, from ~40s to ~44s) in a clean dev build for much better backtraces (including normal errors with FOUNDRY_DEBUG=1).
  • debug = "line-tables-only" for optimized builds: negligible binary size increase (<100KB) for source locations in backtraces, see the profiles reference
Measurements dump

--- DEBUG = 0 ---
      Timing report saved to /home/doni/github/foundry-rs/foundry/target/cargo-timings/cargo-timing-20240129T180147Z.html
    Finished dev [unoptimized] target(s) in 39.50s
        Command being timed: "cargo b --bin forge -p forge --timings"
        User time (seconds): 452.77
        System time (seconds): 37.59
        Percent of CPU this job got: 1240%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:39.54
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 1372164
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 3123
        Minor (reclaiming a frame) page faults: 8253885
        Voluntary context switches: 73661
        Involuntary context switches: 98882
        Swaps: 0
        File system inputs: 5344
        File system outputs: 5771336
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0



--- DEBUG = 1 ---
      Timing report saved to /home/doni/github/foundry-rs/foundry/target/cargo-timings/cargo-timing-20240129T180316Z.html
    Finished dev [unoptimized + debuginfo] target(s) in 44.14s
        Command being timed: "cargo b --bin forge -p forge --timings"
        User time (seconds): 525.31
        System time (seconds): 40.35
        Percent of CPU this job got: 1279%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:44.19
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 1574724
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 2274
        Minor (reclaiming a frame) page faults: 9384116
        Voluntary context switches: 72666
        Involuntary context switches: 133939
        Swaps: 0
        File system inputs: 256
        File system outputs: 7795176
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

--- DEBUG = 2 ---
      Timing report saved to /home/doni/github/foundry-rs/foundry/target/cargo-timings/cargo-timing-20240129T180437Z.html
    Finished dev [unoptimized + debuginfo] target(s) in 50.45s
        Command being timed: "cargo b --bin forge -p forge --timings"
        User time (seconds): 636.03
        System time (seconds): 46.90
        Percent of CPU this job got: 1352%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:50.49
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 2170188
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 3284
        Minor (reclaiming a frame) page faults: 11830261
        Voluntary context switches: 72178
        Involuntary context switches: 148842
        Swaps: 0
        File system inputs: 1960
        File system outputs: 12122296
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

--- DEBUG = "line-tables-only" ---
      Timing report saved to /home/doni/github/foundry-rs/foundry/target/cargo-timings/cargo-timing-20240129T180605Z.html
    Finished dev [unoptimized + debuginfo] target(s) in 44.25s
        Command being timed: "cargo b --bin forge -p forge --timings"
        User time (seconds): 519.49
        System time (seconds): 39.51
        Percent of CPU this job got: 1261%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:44.29
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 1453480
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 4374
        Minor (reclaiming a frame) page faults: 9289883
        Voluntary context switches: 72269
        Involuntary context switches: 125890
        Swaps: 0
        File system inputs: 0
        File system outputs: 7012336
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

@@ -71,7 +72,7 @@ axum.opt-level = 3
[profile.local]
inherits = "dev"
opt-level = 1
strip = true
strip = "debuginfo"
Copy link
Member Author

Choose a reason for hiding this comment

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

Missed in #6894

@DaniPopes DaniPopes merged commit c3904f3 into master Jan 29, 2024
19 checks passed
@DaniPopes DaniPopes deleted the dani/debuginfo branch January 29, 2024 18:51
DaniPopes added a commit that referenced this pull request Jan 31, 2024
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