-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
modernize the simulator to use jdk21 (unrelated to the core library)
As dependencies are moving on from jdk11, it makes sense for the analysis tools to upgrade as well. This was already executing as 21 to support those dependencies and now simply requires it at the language level. The user-facing library and jmh benchmarks remain jdk11 compatible. A profile of the execution showed excessive garbage, which is now reduced to improve runtimes. - A direct mapped cache of boxed Long keys are used to reduce the allocations by caching libraries. The research policies use primitive based data structures, but user-facing libraries are not as fortunate. - Using cache listeners to track eviction counts can require the libraries allocate, e.g. copy the entry. This is safe enough to trust their stats because its usually the hit rate that is accidentally miscalculated and we verify that matches. The eviction count is easily derrived (miss count - size) so just a sanity check. * This particular sped up Ehcache from an 18.25m run to 17m, because if any event type is registered against then it emits and does work for the unregistered event types too. This may seem like low-hanging fruit for them to fix, but every other cache runs in seconds (7s for Caffeine) so it is already unusable. Their response was that Ehcache v3 is not intended to be used in scenarios where LRU eviction might occur, only as a safety net, so any eviction is considered user error. Some nice simplifications due to language improvements: - Replaced AutoValue with Records - More concise instanceof casting - More concise switch expressions
- Loading branch information
Showing
37 changed files
with
455 additions
and
488 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 0 additions & 21 deletions
21
gradle/plugins/src/main/kotlin/lifecycle/auto-value.caffeine.gradle.kts
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.