[LL FIR] Add Caffeine library dependency

- Our current FIR caches are based on `ConcurrentMap` and thereby do not
  support size and lifetime limits out of the box. For example,
  first-layer caches with a limited size can speed up access of the most
  frequently used elements, while having a small memory footprint.
- Caffeine is a modern and well optimized caching library that allows us
  to create thread-safe and performant caches with various size or
  lifetime limits.
- The cache must support concurrency because session components such as
  symbol providers may be accessed concurrently once parallel resolve in
  the Analysis API has been implemented (see KT-55750). Caffeine caches
  support concurrency.
This commit is contained in:
Marco Pennekamp
2023-03-28 20:33:38 +02:00
committed by Space Team
parent a7360a54fe
commit b805c6e32b
3 changed files with 223 additions and 0 deletions
+18
View File
@@ -948,6 +948,12 @@
<sha256 value="3441efc735953210d8233be3c1fbde2ae8ccdd55e7073786e179d8b340ce8475" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.github.ben-manes.caffeine" name="caffeine" version="2.9.3">
<artifact name="caffeine-2.9.3.jar">
<md5 value="e0b9c5ccd60a1b5403df1dfe6de37d8e" origin="Generated by Gradle"/>
<sha256 value="1e0a7bbef1dd791653143f3f05d0e489934bf5481e58a87c9e619cd46b68729b" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.github.gundy" name="semver4j" version="0.16.4">
<artifact name="semver4j-0.16.4-nodeps.jar">
<md5 value="c52d66c488836f6ca5eb51a1bcd94684" origin="Generated by Gradle"/>
@@ -1128,6 +1134,12 @@
<sha256 value="958cb81c393cb2996c3c6a9e867a4a4be8ddc43391672a9e4e4eba51ac7237f5" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.google.errorprone" name="error_prone_annotations" version="2.10.0">
<artifact name="error_prone_annotations-2.10.0.jar">
<md5 value="df93bd9f00b1d2b1e2ca6317fd8f6df3" origin="Generated by Gradle"/>
<sha256 value="a249d4d25dfb86d41e6c82fc335df580189f0c9feeabdc53233fc1e5060724a1" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="com.google.errorprone" name="error_prone_annotations" version="2.2.0">
<artifact name="error_prone_annotations-2.2.0.jar">
<md5 value="416757b9e6ba0563368ab59e668b3225" origin="Generated by Gradle"/>
@@ -4959,6 +4971,12 @@
<sha256 value="ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.checkerframework" name="checker-qual" version="3.19.0">
<artifact name="checker-qual-3.19.0.jar">
<md5 value="a70912824bb142a53d6cb50a349dab1a" origin="Generated by Gradle"/>
<sha256 value="a827c49183f3a632277d27a0a4673686cb341507447b9d570261094bd748aa68" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="org.checkerframework" name="checker-qual" version="3.5.0">
<artifact name="checker-qual-3.5.0.jar">
<md5 value="4464def1ed5c10f248ebfe1bccbedf1a" origin="Generated by Gradle"/>