bval-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Struberg (JIRA)" <j...@apache.org>
Subject [jira] [Created] (BVAL-154) reduce memory footprint of BeanMeta
Date Tue, 25 Jul 2017 08:11:00 GMT
Mark Struberg created BVAL-154:
----------------------------------

             Summary: reduce memory footprint of BeanMeta
                 Key: BVAL-154
                 URL: https://issues.apache.org/jira/browse/BVAL-154
             Project: BVal
          Issue Type: Bug
          Components: jsr303
    Affects Versions: 1.1.2
            Reporter: Mark Struberg
            Assignee: Mark Struberg
             Fix For: 1.1.3, 2.0.0


While doing some performance analysis on a project I figured that we store way too many BeanMeta
instances. 
This seems to come from other frameworks checking whether a class has BeanValidation features
on them. 
It also happens within our own CDI BValExtension. 
The result is that we also cache the BeanMeta for every class which gets queried, regardless
whether it has some validation on them or not.

We should introduce a 'negative cache' which contains classes which are known to have no validation
on them

{code:java}
getConstraintForClass(Calss c) {
  if (negativeCache.contains(c)) 
    return new EmptyBeanDescription(c);
  ...
  if (noValidationFeatureFound)
    negativeCache.add(c);

}
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message