A shard leaf was finalized; log roughly every 1/16 of the shards. Uses an atomic counter so concurrent subtrees report coherently.
(&self)
| 625 | fn bisecting(&self, n: usize, k: usize) { |
| 626 | if self.enabled && n >= PROGRESS_BISECT_LOG { |
| 627 | eprintln!( |
| 628 | "[shard] bisecting {n} vertices → {k} shards ({:.1?} elapsed, {}/{} shards done)", |
| 629 | self.start.elapsed(), |
| 630 | self.finalized.load(Ordering::Relaxed), |
| 631 | self.total |
| 632 | ); |
| 633 | } |
| 634 | } |
| 635 | |
| 636 | /// A shard leaf was finalized; log roughly every 1/16 of the shards. Uses an |
| 637 | /// atomic counter so concurrent subtrees report coherently. |
| 638 | fn leaf(&self) { |
| 639 | let done = self.finalized.fetch_add(1, Ordering::Relaxed) + 1; |
| 640 | let step = (self.total / 16).max(1); |
| 641 | if self.enabled && (done.is_multiple_of(step) || done == self.total) { |