-
Enhancement
-
Resolution: Fixed
-
P4
-
13
-
b10
The purpose of the Hot Card Cache is to collect often dirtied cards during mutator time.
Anecdotal evidence indicates that the HCC does not contribute meaningfully to performance because:
- it is very small (JDK-8135064); an application doing lots of refinement will overflow it quickly
- an application doing little refinement will not use it
However its data structures use a card map across the whole heap, i.e. one byte per card, which is 0.2% of the heap. That memory could be used more usefully in other places.
Test and investigate its usefulness, also taking the concerns forJDK-8135064 into account.
There may also be better ways that use less memory to cause the same effect.
Anecdotal evidence indicates that the HCC does not contribute meaningfully to performance because:
- it is very small (
- an application doing little refinement will not use it
However its data structures use a card map across the whole heap, i.e. one byte per card, which is 0.2% of the heap. That memory could be used more usefully in other places.
Test and investigate its usefulness, also taking the concerns for
There may also be better ways that use less memory to cause the same effect.
- csr for
-
JDK-8301965 G1: Remove the Hot Card Cache
- Closed
- duplicates
-
JDK-8135064 Scale hot card cache size with heap size
- Closed
- relates to
-
JDK-8294753 Document why G1CardCounts::add_card_count is not thread-safe
- Closed
-
JDK-8225406 Account for hot card cache cards in distributing heap root scan times
- Closed
-
JDK-8135064 Scale hot card cache size with heap size
- Closed
(2 links to)