You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Daniel.Sun (JIRA)" <ji...@apache.org> on 2016/10/27 19:39:59 UTC

[jira] [Updated] (GROOVY-7977) Refine the implementation of LRUCache

     [ https://issues.apache.org/jira/browse/GROOVY-7977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel.Sun updated GROOVY-7977:
-------------------------------
    Attachment: text.html

OK. Maybe we can look for some other smaller lib ;)



在 "Jochen Theodorou (JIRA)" <ji...@apache.org>,2016年10月28日 上午12:55写道:

    [ https://issues.apache.org/jira/browse/GROOVY-7977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15612483#comment-15612483 ]

Jochen Theodorou commented on GROOVY-7977:
------------------------------------------

The negatives:
946k library size, which is quite big to jarjar, and we probably would have
requires java8, so cannot be used in 2.4 or 2.5

maybe if we take out only the parts we actually need, but then we would have to see what is left and since I know that this comes from guava, there might be still a big bunch of classes




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


> Refine the implementation of LRUCache
> -------------------------------------
>
>                 Key: GROOVY-7977
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7977
>             Project: Groovy
>          Issue Type: Improvement
>    Affects Versions: 2.4.7
>            Reporter: Daniel.Sun
>            Priority: Minor
>         Attachments: text.html
>
>
>          I found the LRUCache that Groovy is using is not efficient enough because it is based on Collections.synchronizedMap, the LRUCache is used by some important classes(e.g. ProxyGenerator, Closure), so it can impact the performance somehow. 
>          I propose to replace the implementation with Caffeine(https://github.com/ben-manes/caffeine), which is a high performance caching library for Java 8 and licensed under APL2.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)