{"comment":{"url":"https://api.github.com/repos/ejona86/grpc-java/comments/12259829","html_url":"https://github.com/ejona86/grpc-java/commit/2fa7a82c96d2f97b909d896489b775f5730feb9c#commitcomment-12259829","id":12259829,"user":{"login":"jhump","id":2035234,"avatar_url":"https://avatars.githubusercontent.com/u/2035234?v=3","gravatar_id":"","url":"https://api.github.com/users/jhump","html_url":"https://github.com/jhump","followers_url":"https://api.github.com/users/jhump/followers","following_url":"https://api.github.com/users/jhump/following{/other_user}","gists_url":"https://api.github.com/users/jhump/gists{/gist_id}","starred_url":"https://api.github.com/users/jhump/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jhump/subscriptions","organizations_url":"https://api.github.com/users/jhump/orgs","repos_url":"https://api.github.com/users/jhump/repos","events_url":"https://api.github.com/users/jhump/events{/privacy}","received_events_url":"https://api.github.com/users/jhump/received_events","type":"User","site_admin":false},"position":47,"line":47,"path":"core/src/main/java/io/grpc/transport/inprocess/InProcessServer.java","commit_id":"2fa7a82c96d2f97b909d896489b775f5730feb9c","created_at":"2015-07-20T19:12:00Z","updated_at":"2015-07-20T19:12:00Z","body":"Querying a skip list has to chase more pointers, so it's less cache-friendly. So I rarely see its use unless ordering is actually needed. Note that `ConcurrentHashMap` is lock-free for queries, and in Java 8 the lock granularity is very fine so that collisions are unlikely even for locking operations (mutations).\r\n\r\nI guess, for this particular thing, performance is not really a concern since none of these operations will be used in high frequency and will never be in any hot code paths.\r\n\r\nAbout requiring servers to shutdown and not needing weak references, sounds good to me."}}