]> git.proxmox.com Git - rustc.git/blob - src/vendor/rayon/scripts/analyze.sh
New upstream version 1.25.0+dfsg1
[rustc.git] / src / vendor / rayon / scripts / analyze.sh
1 # Rough and dirty shell script to scrape the `log.rs` output and
2 # analyze what kinds of tasks have been started and stopped. Very
3 # useful in tracking down deadlocks.
4
5 TICKLES=$(grep Tickle $1 | wc -l)
6
7 INJECT_JOBS=$(grep InjectJobs $1 | wc -l)
8 echo "Injected jobs:" $(((INJECT_JOBS * 2)))
9
10 JOINS=$(grep Join $1 | wc -l)
11 echo "Joins: " $JOINS
12
13 POPPED_RHS=$(grep PoppedRhs $1 | wc -l)
14 POPPED_JOB=$(grep PoppedJob $1 | wc -l)
15 POPPED_TOTAL=$((($POPPED_RHS + $POPPED_JOB)))
16 echo "Popped jobs: " $POPPED_TOTAL = rhs $POPPED_RHS + other $POPPED_JOB
17
18 FOUND_WORK=$(grep FoundWork $1 | wc -l)
19 echo "Found work: " $FOUND_WORK
20
21 STOLE_WORK=$(grep StoleWork $1 | wc -l)
22 echo "Stole work: " $STOLE_WORK
23
24 UNINJECTED_WORK=$(grep UninjectedWork $1 | wc -l)
25 echo "Uninjected: " $UNINJECTED_WORK
26
27 echo "Join balance: " $((( $JOINS - $POPPED_TOTAL - $STOLE_WORK )))
28 echo "Inj. balance: " $((( $INJECT_JOBS * 2 - $UNINJECTED_WORK )))
29 echo "Total balance:" $((( $FOUND_WORK + $POPPED_TOTAL - $JOINS - $INJECT_JOBS * 2 )))
30