[
https://issues.apache.org/jira/browse/MRESOLVER-320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17688551#comment-17688551
]
ASF GitHub Bot commented on MRESOLVER-320:
------------------------------------------
gnodet commented on code in PR #241:
URL: https://github.com/apache/maven-resolver/pull/241#discussion_r1105977003
##########
maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DataPool.java:
##########
@@ -415,4 +440,46 @@ public int hashCode()
return hashCode;
}
}
+
+ private interface InternPool<K, V>
+ {
+ V get( K key );
+
+ V intern( K key, V value );
+ }
+
+ private static class HardInternPool<K, V> implements InternPool<K, V>
+ {
+ private final ConcurrentHashMap<K, V> map = new ConcurrentHashMap<>(
256 );
+
+ @Override
+ public V get( K key )
+ {
+ return map.get( key );
+ }
+
+ @Override
+ public V intern( K key, V value )
+ {
+ return map.computeIfAbsent( key, k -> value );
+ }
+ }
+
+ private static class WeakInternPool<K, V> implements InternPool<K, V>
+ {
+ private final WeakHashMap<K, WeakReference<V>> map = new
WeakHashMap<>( 256 );
+
+ @Override
+ public V get( K key )
Review Comment:
I think it's missing a `synchronized` flag to support concurrent read/write
access, as I don't think the `WeakHashMap` does support that.
##########
maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DataPool.java:
##########
@@ -53,6 +52,7 @@
*/
public final class DataPool
{
+ private static final String CONFIG_PROP_COLLECTOR_POOL_WEAK =
"aether.dependencyCollector.pool.weak";
Review Comment:
Maybe use a non boolean property `aether.dependencyCollector.pool` so that
we can experiment with a `weak`, `hard`, `none` ?
> Investigate slower resolving speeds as reported by users
> --------------------------------------------------------
>
> Key: MRESOLVER-320
> URL: https://issues.apache.org/jira/browse/MRESOLVER-320
> Project: Maven Resolver
> Issue Type: Task
> Affects Versions: 1.9.4
> Reporter: Tamas Cservenak
> Assignee: Tamas Cservenak
> Priority: Major
> Fix For: 1.9.5
>
>
> Users on ML reported "slowness" that MAY be caused by a change added in 1.9.0
> version of resolver MRESOLVER-250.
> [https://lists.apache.org/thread/r9p236z8kvqqk7ykvkgmc5wgps6n1hkf]
> [https://github.com/apache/maven-resolver/pull/166#issuecomment-1413808333]
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)