Commit 473fd58
authored
Fetch before trying to atomically mark in Compressor (#1438)
Tracing is exceedingly slow on biojava if we don't
test-and-test-and-set. My guess is that we get cache line ping-pong when
many workers try to mark the same popular objects; but every policy I
checked has some sort of test-and-test-and-set pattern, and this seems
like a common sense thing to do.
[Plotty](http://squirrel.anu.edu.au/plotty/hayleyp/plots/p/GkUHfS) for a
detailed before-and-after, although both configurations have some other
changes to Compressor which I will upstream later. But this change still
speeds up upstream - here is before:
```
============================ MMTk Statistics Totals ============================
GC time.other time.stw total-work.time.min total-work.time.total total-work.time.max total-work.count
14 8575.41 14920.23 inf 0.000 -inf 0
Total time: 23495.63 ms
------------------------------ End MMTk Statistics -----------------------------
```
And after:
```
============================ MMTk Statistics Totals ============================
GC time.other time.stw total-work.time.total total-work.time.max total-work.time.min total-work.count
14 8826.60 9548.96 0.000 -inf inf 0
Total time: 18375.56 ms
------------------------------ End MMTk Statistics -----------------------------
```1 parent 2ad6d36 commit 473fd58
2 files changed
+19
-13
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
52 | | - | |
53 | 51 | | |
54 | 52 | | |
55 | 53 | | |
| |||
271 | 269 | | |
272 | 270 | | |
273 | 271 | | |
274 | | - | |
275 | | - | |
276 | | - | |
277 | | - | |
278 | | - | |
279 | | - | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
280 | 286 | | |
281 | 287 | | |
282 | 288 | | |
283 | | - | |
| 289 | + | |
284 | 290 | | |
285 | | - | |
286 | | - | |
| 291 | + | |
287 | 292 | | |
288 | 293 | | |
289 | 294 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | 1 | | |
3 | 2 | | |
4 | 3 | | |
| |||
144 | 143 | | |
145 | 144 | | |
146 | 145 | | |
147 | | - | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
148 | 149 | | |
149 | 150 | | |
150 | 151 | | |
| |||
0 commit comments