Skip to content

Commit ed2cf48

Browse files
AsterNighTPratyush
andauthored
Fix incorrect use of atomic variable in src/perf_trace.rs (#47)
Co-authored-by: Pratyush Mishra <[email protected]>
1 parent 9bd198f commit ed2cf48

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
## Pending
2+
- [\#47](https://github.com/arkworks-rs/std/pull/47) Fix incorrect use of atomic variable in `src/perf_trace.rs`
23

34
### Breaking changes
45

src/perf_trace.rs

+3-5
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,10 @@ pub mod inner {
6666

6767
let msg = $msg();
6868
let start_info = "Start:".yellow().bold();
69-
let indent_amount = 2 * NUM_INDENT.fetch_add(0, Ordering::Relaxed);
69+
let indent_amount = 2 * NUM_INDENT.fetch_add(1, Ordering::Relaxed);
7070
let indent = compute_indent(indent_amount);
7171

7272
$crate::perf_trace::println!("{}{:8} {}", indent, start_info, msg);
73-
NUM_INDENT.fetch_add(1, Ordering::Relaxed);
7473
$crate::perf_trace::TimerInfo {
7574
msg: msg.to_string(),
7675
time: Instant::now(),
@@ -110,8 +109,7 @@ pub mod inner {
110109
let end_info = "End:".green().bold();
111110
let message = format!("{} {}", $time.msg, $msg());
112111

113-
NUM_INDENT.fetch_sub(1, Ordering::Relaxed);
114-
let indent_amount = 2 * NUM_INDENT.fetch_add(0, Ordering::Relaxed);
112+
let indent_amount = 2 * NUM_INDENT.fetch_sub(1, Ordering::Relaxed);
115113
let indent = compute_indent(indent_amount);
116114

117115
// Todo: Recursively ensure that *entire* string is of appropriate
@@ -144,7 +142,7 @@ pub mod inner {
144142
let start_indent_amount = 2 * NUM_INDENT.fetch_add(0, Ordering::Relaxed);
145143
let start_indent = compute_indent(start_indent_amount);
146144

147-
let msg_indent_amount = 2 * NUM_INDENT.fetch_add(0, Ordering::Relaxed) + 2;
145+
let msg_indent_amount = start_indent_amount + 2;
148146
let msg_indent = compute_indent_whitespace(msg_indent_amount);
149147
let mut final_message = "\n".to_string();
150148
for line in $msg().lines() {

0 commit comments

Comments
 (0)