You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bval.apache.org by Romain Manni-Bucau <rm...@gmail.com> on 2013/07/01 13:02:25 UTC

bean validation 1.1

Hi guys,

just created a branch to play with bean validation 1.1

here it is https://svn.apache.org/repos/asf/bval/branches/bval-11/

it doesn't fully pass TCKs ATM because we'd need cdi 1.1 impl (and it would
be great to use OWB ;) + some refactorings before going further but it is a
start.

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*

Re: bean validation 1.1

Posted by Matt Benson <gu...@gmail.com>.
Yeah, I'd just call the test wrong then.


On Thu, Aug 15, 2013 at 12:00 PM, Romain Manni-Bucau
<rm...@gmail.com>wrote:

> A little note: we are slow in multithreaded mode because each thread has a
> different Validator instance, if you share it (which is valid regarding the
> spec) we are ok.
>
> Not sure if the test is wrong or just wrongly named.
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> *Github: https://github.com/rmannibucau*
>
>
>
> 2013/8/13 Romain Manni-Bucau <rm...@gmail.com>
>
>> after the last commits:
>>
>>
>> Running org.apache.bval.bench.ApacheTest
>> APACHE
>>   Raw validation time:        1461ms {11198}
>>   Raw parsing time:          10910ms {2000}
>>   First parse and validate:   9115ms {10180}
>>   Multithreaded validation:   3122ms
>> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 27.33 sec
>> Running org.apache.bval.bench.HibernateTest
>> HIBERNATE
>>   Raw validation time:        2043ms {11198}
>>   Raw parsing time:           4118ms {2000}
>>   First parse and validate:   3423ms {10180}
>>   Multithreaded validation:   1278ms
>> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.302 sec
>>
>> Not sure why we are slow in multithreaded. Parsing is slow due to too
>> much reflection (we should be able to cut it but i didnt find how - help
>> would be welcomed ;)
>>
>> *Romain Manni-Bucau*
>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>> *Github: https://github.com/rmannibucau*
>>
>>
>>
>> 2013/8/13 Romain Manni-Bucau <rm...@gmail.com>
>>
>>> hehe, maybe i found a perf issue,
>>>
>>> when updating MetaBean i added a comment: // TODO: optimize sortings
>>>
>>> and profiling it seems this comment was important ;)
>>>
>>> *Romain Manni-Bucau*
>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>> *Github: https://github.com/rmannibucau*
>>>
>>>
>>>
>>> 2013/8/12 Matt Benson <gu...@gmail.com>
>>>
>>>> true
>>>>
>>>>
>>>> On Mon, Aug 12, 2013 at 10:35 AM, Romain Manni-Bucau <
>>>> rmannibucau@gmail.com> wrote:
>>>>
>>>>> not exactly, my bench (which was simpler than this one) showed it was
>>>>> comparable (0.5 was good)
>>>>>
>>>>> but in my test graph was pretty trivial
>>>>>
>>>>> *Romain Manni-Bucau*
>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>> *Github: https://github.com/rmannibucau*
>>>>>
>>>>>
>>>>>
>>>>> 2013/8/12 Matt Benson <gu...@gmail.com>
>>>>>
>>>>>> Strange that your benchmarks showed our performance to be pretty good
>>>>>> compared to Hibernate Validator, but these show us to be relatively
>>>>>> horrible.  :(
>>>>>>
>>>>>> Matt
>>>>>>
>>>>>>
>>>>>> On Mon, Aug 12, 2013 at 10:24 AM, Romain Manni-Bucau <
>>>>>> rmannibucau@gmail.com> wrote:
>>>>>>
>>>>>>> here is what i get with this project:
>>>>>>>
>>>>>>> APACHE
>>>>>>>   Raw validation time:        3013ms {11165}
>>>>>>>   Raw parsing time:          14318ms {2000}
>>>>>>>   First parse and validate:  12988ms {10150}
>>>>>>>   Multithreaded validation:   4062ms
>>>>>>> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
>>>>>>> 41.522 sec
>>>>>>> Running org.apache.bval.bench.HibernateTest
>>>>>>> HIBERNATE
>>>>>>>   Raw validation time:        2031ms {11165}
>>>>>>>   Raw parsing time:           3712ms {2000}
>>>>>>>   First parse and validate:   4020ms {10150}
>>>>>>>   Multithreaded validation:   1582ms
>>>>>>> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
>>>>>>> 13.987 sec
>>>>>>>
>>>>>>> Here is the diff to test against bval 1.1 impls:
>>>>>>>
>>>>>>> Index: pom.xml
>>>>>>> ===================================================================
>>>>>>> --- pom.xml (revision 1513159)
>>>>>>> +++ pom.xml (working copy)
>>>>>>> @@ -26,7 +26,7 @@
>>>>>>>      <parent>
>>>>>>>          <groupId>org.apache.bval</groupId>
>>>>>>>          <artifactId>bval-parent</artifactId>
>>>>>>> -        <version>0.2-incubating-SNAPSHOT</version>
>>>>>>> +        <version>2.0-SNAPSHOT</version>
>>>>>>>      </parent>
>>>>>>>
>>>>>>>      <artifactId>jsr303-impl-bench</artifactId>
>>>>>>> @@ -34,12 +34,24 @@
>>>>>>>      <name>Apache Bean Validation :: jsr303-impl-bench
>>>>>>> (optional)</name>
>>>>>>>
>>>>>>>      <properties>
>>>>>>> -        <apache-bval.version>0.1-incubating</apache-bval.version>
>>>>>>> -        <hibernate-val.version>4.1.0.CR1</hibernate-val.version>
>>>>>>> +        <apache-bval.version>2.0-SNAPSHOT</apache-bval.version>
>>>>>>> +        <hibernate-val.version>5.0.1.Final</hibernate-val.version>
>>>>>>>      </properties>
>>>>>>>
>>>>>>>      <dependencies>
>>>>>>>          <dependency>
>>>>>>> +            <groupId>org.apache.geronimo.specs</groupId>
>>>>>>> +            <artifactId>geronimo-el_2.2_spec</artifactId>
>>>>>>> +            <version>1.0.2</version>
>>>>>>> +            <scope>test</scope>
>>>>>>> +        </dependency>
>>>>>>> +        <dependency>
>>>>>>> +            <groupId>org.apache.tomcat</groupId>
>>>>>>> +            <artifactId>tomcat-jasper-el</artifactId>
>>>>>>> +            <version>7.0.42</version>
>>>>>>> +            <scope>test</scope>
>>>>>>> +        </dependency>
>>>>>>> +        <dependency>
>>>>>>>              <groupId>com.sun.codemodel</groupId>
>>>>>>>              <artifactId>codemodel</artifactId>
>>>>>>>              <version>2.2</version>
>>>>>>> @@ -52,7 +64,7 @@
>>>>>>>          <dependency>
>>>>>>>              <groupId>javax.validation</groupId>
>>>>>>>              <artifactId>validation-api</artifactId>
>>>>>>> -            <version>1.0.0.GA</version>
>>>>>>> +            <version>1.1.0.Final</version>
>>>>>>>          </dependency>
>>>>>>>          <dependency>
>>>>>>>              <groupId>org.apache.bval</groupId>
>>>>>>>
>>>>>>>
>>>>>>> *Romain Manni-Bucau*
>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/8/12 Matt Benson <gu...@gmail.com>
>>>>>>>
>>>>>>>> I agree, looks reasonable.  :)  There is also some stuff at
>>>>>>>> http://svn.apache.org/viewvc/bval/sandbox/jsr303-impl-bench/ if
>>>>>>>> you had any interest in merging your work there.
>>>>>>>>
>>>>>>>> Matt
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Aug 12, 2013 at 6:58 AM, Romain Manni-Bucau <
>>>>>>>> rmannibucau@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Hi
>>>>>>>>>
>>>>>>>>> just did a simple test:
>>>>>>>>> https://gist.github.com/rmannibucau/6dab2d80ea2b26c40876
>>>>>>>>>
>>>>>>>>> with:
>>>>>>>>>
>>>>>>>>> public class ValidatedBeanL1 {
>>>>>>>>>     @Valid
>>>>>>>>>     private ValidatedBeanL2 l2;
>>>>>>>>>
>>>>>>>>>     @Min(1)
>>>>>>>>>     private int size;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> and
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> public class ValidatedBeanL2 {
>>>>>>>>>     @NotNull
>>>>>>>>>     private String name;
>>>>>>>>>
>>>>>>>>>     @Size(min = 3, max = 5)
>>>>>>>>>     private String fullname;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> It doesn't look bad to me but wdyt?
>>>>>>>>>
>>>>>>>>> *Romain Manni-Bucau*
>>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2013/7/17 Matt Benson <gu...@gmail.com>
>>>>>>>>>
>>>>>>>>>> Great work, Romain!
>>>>>>>>>>
>>>>>>>>>> Matt
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wed, Jul 17, 2013 at 10:34 AM, Romain Manni-Bucau
>>>>>>>>>> <rm...@gmail.com>wrote:
>>>>>>>>>>
>>>>>>>>>> > Hi,
>>>>>>>>>> >
>>>>>>>>>> > FYI with some hacks (EJB hacks (@Resource) + cdi interceptor
>>>>>>>>>> hacks (adding
>>>>>>>>>> > beans.xml with needed interceptors instead of using discovery)
>>>>>>>>>> + jndi hack
>>>>>>>>>> > (lookup)) we get now on this branch:
>>>>>>>>>> >
>>>>>>>>>> > *Tests run: 758, Failures: 0, Errors: 0, Skipped: 0*
>>>>>>>>>> > *
>>>>>>>>>> > *
>>>>>>>>>> > PS: it needs OWB trunk built with cdi-1.1 profile
>>>>>>>>>> >
>>>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> > 2013/7/1 Romain Manni-Bucau <rm...@gmail.com>
>>>>>>>>>> >
>>>>>>>>>> > > Hi guys,
>>>>>>>>>> > >
>>>>>>>>>> > > just created a branch to play with bean validation 1.1
>>>>>>>>>> > >
>>>>>>>>>> > > here it is
>>>>>>>>>> https://svn.apache.org/repos/asf/bval/branches/bval-11/
>>>>>>>>>> > >
>>>>>>>>>> > > it doesn't fully pass TCKs ATM because we'd need cdi 1.1 impl
>>>>>>>>>> (and it
>>>>>>>>>> > > would be great to use OWB ;) + some refactorings before going
>>>>>>>>>> further but
>>>>>>>>>> > > it is a start.
>>>>>>>>>> > >
>>>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>>>> > >
>>>>>>>>>> > >
>>>>>>>>>> >
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Re: bean validation 1.1

Posted by Romain Manni-Bucau <rm...@gmail.com>.
A little note: we are slow in multithreaded mode because each thread has a
different Validator instance, if you share it (which is valid regarding the
spec) we are ok.

Not sure if the test is wrong or just wrongly named.

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*



2013/8/13 Romain Manni-Bucau <rm...@gmail.com>

> after the last commits:
>
>
> Running org.apache.bval.bench.ApacheTest
> APACHE
>   Raw validation time:        1461ms {11198}
>   Raw parsing time:          10910ms {2000}
>   First parse and validate:   9115ms {10180}
>   Multithreaded validation:   3122ms
> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 27.33 sec
> Running org.apache.bval.bench.HibernateTest
> HIBERNATE
>   Raw validation time:        2043ms {11198}
>   Raw parsing time:           4118ms {2000}
>   First parse and validate:   3423ms {10180}
>   Multithreaded validation:   1278ms
> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.302 sec
>
> Not sure why we are slow in multithreaded. Parsing is slow due to too much
> reflection (we should be able to cut it but i didnt find how - help would
> be welcomed ;)
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> *Github: https://github.com/rmannibucau*
>
>
>
> 2013/8/13 Romain Manni-Bucau <rm...@gmail.com>
>
>> hehe, maybe i found a perf issue,
>>
>> when updating MetaBean i added a comment: // TODO: optimize sortings
>>
>> and profiling it seems this comment was important ;)
>>
>> *Romain Manni-Bucau*
>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>> *Github: https://github.com/rmannibucau*
>>
>>
>>
>> 2013/8/12 Matt Benson <gu...@gmail.com>
>>
>>> true
>>>
>>>
>>> On Mon, Aug 12, 2013 at 10:35 AM, Romain Manni-Bucau <
>>> rmannibucau@gmail.com> wrote:
>>>
>>>> not exactly, my bench (which was simpler than this one) showed it was
>>>> comparable (0.5 was good)
>>>>
>>>> but in my test graph was pretty trivial
>>>>
>>>> *Romain Manni-Bucau*
>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>> *Github: https://github.com/rmannibucau*
>>>>
>>>>
>>>>
>>>> 2013/8/12 Matt Benson <gu...@gmail.com>
>>>>
>>>>> Strange that your benchmarks showed our performance to be pretty good
>>>>> compared to Hibernate Validator, but these show us to be relatively
>>>>> horrible.  :(
>>>>>
>>>>> Matt
>>>>>
>>>>>
>>>>> On Mon, Aug 12, 2013 at 10:24 AM, Romain Manni-Bucau <
>>>>> rmannibucau@gmail.com> wrote:
>>>>>
>>>>>> here is what i get with this project:
>>>>>>
>>>>>> APACHE
>>>>>>   Raw validation time:        3013ms {11165}
>>>>>>   Raw parsing time:          14318ms {2000}
>>>>>>   First parse and validate:  12988ms {10150}
>>>>>>   Multithreaded validation:   4062ms
>>>>>> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
>>>>>> 41.522 sec
>>>>>> Running org.apache.bval.bench.HibernateTest
>>>>>> HIBERNATE
>>>>>>   Raw validation time:        2031ms {11165}
>>>>>>   Raw parsing time:           3712ms {2000}
>>>>>>   First parse and validate:   4020ms {10150}
>>>>>>   Multithreaded validation:   1582ms
>>>>>> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
>>>>>> 13.987 sec
>>>>>>
>>>>>> Here is the diff to test against bval 1.1 impls:
>>>>>>
>>>>>> Index: pom.xml
>>>>>> ===================================================================
>>>>>> --- pom.xml (revision 1513159)
>>>>>> +++ pom.xml (working copy)
>>>>>> @@ -26,7 +26,7 @@
>>>>>>      <parent>
>>>>>>          <groupId>org.apache.bval</groupId>
>>>>>>          <artifactId>bval-parent</artifactId>
>>>>>> -        <version>0.2-incubating-SNAPSHOT</version>
>>>>>> +        <version>2.0-SNAPSHOT</version>
>>>>>>      </parent>
>>>>>>
>>>>>>      <artifactId>jsr303-impl-bench</artifactId>
>>>>>> @@ -34,12 +34,24 @@
>>>>>>      <name>Apache Bean Validation :: jsr303-impl-bench
>>>>>> (optional)</name>
>>>>>>
>>>>>>      <properties>
>>>>>> -        <apache-bval.version>0.1-incubating</apache-bval.version>
>>>>>> -        <hibernate-val.version>4.1.0.CR1</hibernate-val.version>
>>>>>> +        <apache-bval.version>2.0-SNAPSHOT</apache-bval.version>
>>>>>> +        <hibernate-val.version>5.0.1.Final</hibernate-val.version>
>>>>>>      </properties>
>>>>>>
>>>>>>      <dependencies>
>>>>>>          <dependency>
>>>>>> +            <groupId>org.apache.geronimo.specs</groupId>
>>>>>> +            <artifactId>geronimo-el_2.2_spec</artifactId>
>>>>>> +            <version>1.0.2</version>
>>>>>> +            <scope>test</scope>
>>>>>> +        </dependency>
>>>>>> +        <dependency>
>>>>>> +            <groupId>org.apache.tomcat</groupId>
>>>>>> +            <artifactId>tomcat-jasper-el</artifactId>
>>>>>> +            <version>7.0.42</version>
>>>>>> +            <scope>test</scope>
>>>>>> +        </dependency>
>>>>>> +        <dependency>
>>>>>>              <groupId>com.sun.codemodel</groupId>
>>>>>>              <artifactId>codemodel</artifactId>
>>>>>>              <version>2.2</version>
>>>>>> @@ -52,7 +64,7 @@
>>>>>>          <dependency>
>>>>>>              <groupId>javax.validation</groupId>
>>>>>>              <artifactId>validation-api</artifactId>
>>>>>> -            <version>1.0.0.GA</version>
>>>>>> +            <version>1.1.0.Final</version>
>>>>>>          </dependency>
>>>>>>          <dependency>
>>>>>>              <groupId>org.apache.bval</groupId>
>>>>>>
>>>>>>
>>>>>> *Romain Manni-Bucau*
>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/8/12 Matt Benson <gu...@gmail.com>
>>>>>>
>>>>>>> I agree, looks reasonable.  :)  There is also some stuff at
>>>>>>> http://svn.apache.org/viewvc/bval/sandbox/jsr303-impl-bench/ if you
>>>>>>> had any interest in merging your work there.
>>>>>>>
>>>>>>> Matt
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Aug 12, 2013 at 6:58 AM, Romain Manni-Bucau <
>>>>>>> rmannibucau@gmail.com> wrote:
>>>>>>>
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> just did a simple test:
>>>>>>>> https://gist.github.com/rmannibucau/6dab2d80ea2b26c40876
>>>>>>>>
>>>>>>>> with:
>>>>>>>>
>>>>>>>> public class ValidatedBeanL1 {
>>>>>>>>     @Valid
>>>>>>>>     private ValidatedBeanL2 l2;
>>>>>>>>
>>>>>>>>     @Min(1)
>>>>>>>>     private int size;
>>>>>>>> }
>>>>>>>>
>>>>>>>> and
>>>>>>>>
>>>>>>>>
>>>>>>>> public class ValidatedBeanL2 {
>>>>>>>>     @NotNull
>>>>>>>>     private String name;
>>>>>>>>
>>>>>>>>     @Size(min = 3, max = 5)
>>>>>>>>     private String fullname;
>>>>>>>> }
>>>>>>>>
>>>>>>>> It doesn't look bad to me but wdyt?
>>>>>>>>
>>>>>>>> *Romain Manni-Bucau*
>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2013/7/17 Matt Benson <gu...@gmail.com>
>>>>>>>>
>>>>>>>>> Great work, Romain!
>>>>>>>>>
>>>>>>>>> Matt
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Jul 17, 2013 at 10:34 AM, Romain Manni-Bucau
>>>>>>>>> <rm...@gmail.com>wrote:
>>>>>>>>>
>>>>>>>>> > Hi,
>>>>>>>>> >
>>>>>>>>> > FYI with some hacks (EJB hacks (@Resource) + cdi interceptor
>>>>>>>>> hacks (adding
>>>>>>>>> > beans.xml with needed interceptors instead of using discovery) +
>>>>>>>>> jndi hack
>>>>>>>>> > (lookup)) we get now on this branch:
>>>>>>>>> >
>>>>>>>>> > *Tests run: 758, Failures: 0, Errors: 0, Skipped: 0*
>>>>>>>>> > *
>>>>>>>>> > *
>>>>>>>>> > PS: it needs OWB trunk built with cdi-1.1 profile
>>>>>>>>> >
>>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> > 2013/7/1 Romain Manni-Bucau <rm...@gmail.com>
>>>>>>>>> >
>>>>>>>>> > > Hi guys,
>>>>>>>>> > >
>>>>>>>>> > > just created a branch to play with bean validation 1.1
>>>>>>>>> > >
>>>>>>>>> > > here it is
>>>>>>>>> https://svn.apache.org/repos/asf/bval/branches/bval-11/
>>>>>>>>> > >
>>>>>>>>> > > it doesn't fully pass TCKs ATM because we'd need cdi 1.1 impl
>>>>>>>>> (and it
>>>>>>>>> > > would be great to use OWB ;) + some refactorings before going
>>>>>>>>> further but
>>>>>>>>> > > it is a start.
>>>>>>>>> > >
>>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>>> > >
>>>>>>>>> > >
>>>>>>>>> >
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Re: bean validation 1.1

Posted by Romain Manni-Bucau <rm...@gmail.com>.
after the last commits:


Running org.apache.bval.bench.ApacheTest
APACHE
  Raw validation time:        1461ms {11198}
  Raw parsing time:          10910ms {2000}
  First parse and validate:   9115ms {10180}
  Multithreaded validation:   3122ms
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 27.33 sec
Running org.apache.bval.bench.HibernateTest
HIBERNATE
  Raw validation time:        2043ms {11198}
  Raw parsing time:           4118ms {2000}
  First parse and validate:   3423ms {10180}
  Multithreaded validation:   1278ms
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.302 sec

Not sure why we are slow in multithreaded. Parsing is slow due to too much
reflection (we should be able to cut it but i didnt find how - help would
be welcomed ;)

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*



2013/8/13 Romain Manni-Bucau <rm...@gmail.com>

> hehe, maybe i found a perf issue,
>
> when updating MetaBean i added a comment: // TODO: optimize sortings
>
> and profiling it seems this comment was important ;)
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> *Github: https://github.com/rmannibucau*
>
>
>
> 2013/8/12 Matt Benson <gu...@gmail.com>
>
>> true
>>
>>
>> On Mon, Aug 12, 2013 at 10:35 AM, Romain Manni-Bucau <
>> rmannibucau@gmail.com> wrote:
>>
>>> not exactly, my bench (which was simpler than this one) showed it was
>>> comparable (0.5 was good)
>>>
>>> but in my test graph was pretty trivial
>>>
>>> *Romain Manni-Bucau*
>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>> *Github: https://github.com/rmannibucau*
>>>
>>>
>>>
>>> 2013/8/12 Matt Benson <gu...@gmail.com>
>>>
>>>> Strange that your benchmarks showed our performance to be pretty good
>>>> compared to Hibernate Validator, but these show us to be relatively
>>>> horrible.  :(
>>>>
>>>> Matt
>>>>
>>>>
>>>> On Mon, Aug 12, 2013 at 10:24 AM, Romain Manni-Bucau <
>>>> rmannibucau@gmail.com> wrote:
>>>>
>>>>> here is what i get with this project:
>>>>>
>>>>> APACHE
>>>>>   Raw validation time:        3013ms {11165}
>>>>>   Raw parsing time:          14318ms {2000}
>>>>>   First parse and validate:  12988ms {10150}
>>>>>   Multithreaded validation:   4062ms
>>>>> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 41.522
>>>>> sec
>>>>> Running org.apache.bval.bench.HibernateTest
>>>>> HIBERNATE
>>>>>   Raw validation time:        2031ms {11165}
>>>>>   Raw parsing time:           3712ms {2000}
>>>>>   First parse and validate:   4020ms {10150}
>>>>>   Multithreaded validation:   1582ms
>>>>> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.987
>>>>> sec
>>>>>
>>>>> Here is the diff to test against bval 1.1 impls:
>>>>>
>>>>> Index: pom.xml
>>>>> ===================================================================
>>>>> --- pom.xml (revision 1513159)
>>>>> +++ pom.xml (working copy)
>>>>> @@ -26,7 +26,7 @@
>>>>>      <parent>
>>>>>          <groupId>org.apache.bval</groupId>
>>>>>          <artifactId>bval-parent</artifactId>
>>>>> -        <version>0.2-incubating-SNAPSHOT</version>
>>>>> +        <version>2.0-SNAPSHOT</version>
>>>>>      </parent>
>>>>>
>>>>>      <artifactId>jsr303-impl-bench</artifactId>
>>>>> @@ -34,12 +34,24 @@
>>>>>      <name>Apache Bean Validation :: jsr303-impl-bench
>>>>> (optional)</name>
>>>>>
>>>>>      <properties>
>>>>> -        <apache-bval.version>0.1-incubating</apache-bval.version>
>>>>> -        <hibernate-val.version>4.1.0.CR1</hibernate-val.version>
>>>>> +        <apache-bval.version>2.0-SNAPSHOT</apache-bval.version>
>>>>> +        <hibernate-val.version>5.0.1.Final</hibernate-val.version>
>>>>>      </properties>
>>>>>
>>>>>      <dependencies>
>>>>>          <dependency>
>>>>> +            <groupId>org.apache.geronimo.specs</groupId>
>>>>> +            <artifactId>geronimo-el_2.2_spec</artifactId>
>>>>> +            <version>1.0.2</version>
>>>>> +            <scope>test</scope>
>>>>> +        </dependency>
>>>>> +        <dependency>
>>>>> +            <groupId>org.apache.tomcat</groupId>
>>>>> +            <artifactId>tomcat-jasper-el</artifactId>
>>>>> +            <version>7.0.42</version>
>>>>> +            <scope>test</scope>
>>>>> +        </dependency>
>>>>> +        <dependency>
>>>>>              <groupId>com.sun.codemodel</groupId>
>>>>>              <artifactId>codemodel</artifactId>
>>>>>              <version>2.2</version>
>>>>> @@ -52,7 +64,7 @@
>>>>>          <dependency>
>>>>>              <groupId>javax.validation</groupId>
>>>>>              <artifactId>validation-api</artifactId>
>>>>> -            <version>1.0.0.GA</version>
>>>>> +            <version>1.1.0.Final</version>
>>>>>          </dependency>
>>>>>          <dependency>
>>>>>              <groupId>org.apache.bval</groupId>
>>>>>
>>>>>
>>>>> *Romain Manni-Bucau*
>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>> *Github: https://github.com/rmannibucau*
>>>>>
>>>>>
>>>>>
>>>>> 2013/8/12 Matt Benson <gu...@gmail.com>
>>>>>
>>>>>> I agree, looks reasonable.  :)  There is also some stuff at
>>>>>> http://svn.apache.org/viewvc/bval/sandbox/jsr303-impl-bench/ if you
>>>>>> had any interest in merging your work there.
>>>>>>
>>>>>> Matt
>>>>>>
>>>>>>
>>>>>> On Mon, Aug 12, 2013 at 6:58 AM, Romain Manni-Bucau <
>>>>>> rmannibucau@gmail.com> wrote:
>>>>>>
>>>>>>> Hi
>>>>>>>
>>>>>>> just did a simple test:
>>>>>>> https://gist.github.com/rmannibucau/6dab2d80ea2b26c40876
>>>>>>>
>>>>>>> with:
>>>>>>>
>>>>>>> public class ValidatedBeanL1 {
>>>>>>>     @Valid
>>>>>>>     private ValidatedBeanL2 l2;
>>>>>>>
>>>>>>>     @Min(1)
>>>>>>>     private int size;
>>>>>>> }
>>>>>>>
>>>>>>> and
>>>>>>>
>>>>>>>
>>>>>>> public class ValidatedBeanL2 {
>>>>>>>     @NotNull
>>>>>>>     private String name;
>>>>>>>
>>>>>>>     @Size(min = 3, max = 5)
>>>>>>>     private String fullname;
>>>>>>> }
>>>>>>>
>>>>>>> It doesn't look bad to me but wdyt?
>>>>>>>
>>>>>>> *Romain Manni-Bucau*
>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2013/7/17 Matt Benson <gu...@gmail.com>
>>>>>>>
>>>>>>>> Great work, Romain!
>>>>>>>>
>>>>>>>> Matt
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Jul 17, 2013 at 10:34 AM, Romain Manni-Bucau
>>>>>>>> <rm...@gmail.com>wrote:
>>>>>>>>
>>>>>>>> > Hi,
>>>>>>>> >
>>>>>>>> > FYI with some hacks (EJB hacks (@Resource) + cdi interceptor
>>>>>>>> hacks (adding
>>>>>>>> > beans.xml with needed interceptors instead of using discovery) +
>>>>>>>> jndi hack
>>>>>>>> > (lookup)) we get now on this branch:
>>>>>>>> >
>>>>>>>> > *Tests run: 758, Failures: 0, Errors: 0, Skipped: 0*
>>>>>>>> > *
>>>>>>>> > *
>>>>>>>> > PS: it needs OWB trunk built with cdi-1.1 profile
>>>>>>>> >
>>>>>>>> > *Romain Manni-Bucau*
>>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > 2013/7/1 Romain Manni-Bucau <rm...@gmail.com>
>>>>>>>> >
>>>>>>>> > > Hi guys,
>>>>>>>> > >
>>>>>>>> > > just created a branch to play with bean validation 1.1
>>>>>>>> > >
>>>>>>>> > > here it is
>>>>>>>> https://svn.apache.org/repos/asf/bval/branches/bval-11/
>>>>>>>> > >
>>>>>>>> > > it doesn't fully pass TCKs ATM because we'd need cdi 1.1 impl
>>>>>>>> (and it
>>>>>>>> > > would be great to use OWB ;) + some refactorings before going
>>>>>>>> further but
>>>>>>>> > > it is a start.
>>>>>>>> > >
>>>>>>>> > > *Romain Manni-Bucau*
>>>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>>> > >
>>>>>>>> > >
>>>>>>>> >
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Re: bean validation 1.1

Posted by Romain Manni-Bucau <rm...@gmail.com>.
hehe, maybe i found a perf issue,

when updating MetaBean i added a comment: // TODO: optimize sortings

and profiling it seems this comment was important ;)

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*



2013/8/12 Matt Benson <gu...@gmail.com>

> true
>
>
> On Mon, Aug 12, 2013 at 10:35 AM, Romain Manni-Bucau <
> rmannibucau@gmail.com> wrote:
>
>> not exactly, my bench (which was simpler than this one) showed it was
>> comparable (0.5 was good)
>>
>> but in my test graph was pretty trivial
>>
>> *Romain Manni-Bucau*
>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>> *Github: https://github.com/rmannibucau*
>>
>>
>>
>> 2013/8/12 Matt Benson <gu...@gmail.com>
>>
>>> Strange that your benchmarks showed our performance to be pretty good
>>> compared to Hibernate Validator, but these show us to be relatively
>>> horrible.  :(
>>>
>>> Matt
>>>
>>>
>>> On Mon, Aug 12, 2013 at 10:24 AM, Romain Manni-Bucau <
>>> rmannibucau@gmail.com> wrote:
>>>
>>>> here is what i get with this project:
>>>>
>>>> APACHE
>>>>   Raw validation time:        3013ms {11165}
>>>>   Raw parsing time:          14318ms {2000}
>>>>   First parse and validate:  12988ms {10150}
>>>>   Multithreaded validation:   4062ms
>>>> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 41.522
>>>> sec
>>>> Running org.apache.bval.bench.HibernateTest
>>>> HIBERNATE
>>>>   Raw validation time:        2031ms {11165}
>>>>   Raw parsing time:           3712ms {2000}
>>>>   First parse and validate:   4020ms {10150}
>>>>   Multithreaded validation:   1582ms
>>>> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.987
>>>> sec
>>>>
>>>> Here is the diff to test against bval 1.1 impls:
>>>>
>>>> Index: pom.xml
>>>> ===================================================================
>>>> --- pom.xml (revision 1513159)
>>>> +++ pom.xml (working copy)
>>>> @@ -26,7 +26,7 @@
>>>>      <parent>
>>>>          <groupId>org.apache.bval</groupId>
>>>>          <artifactId>bval-parent</artifactId>
>>>> -        <version>0.2-incubating-SNAPSHOT</version>
>>>> +        <version>2.0-SNAPSHOT</version>
>>>>      </parent>
>>>>
>>>>      <artifactId>jsr303-impl-bench</artifactId>
>>>> @@ -34,12 +34,24 @@
>>>>      <name>Apache Bean Validation :: jsr303-impl-bench (optional)</name>
>>>>
>>>>      <properties>
>>>> -        <apache-bval.version>0.1-incubating</apache-bval.version>
>>>> -        <hibernate-val.version>4.1.0.CR1</hibernate-val.version>
>>>> +        <apache-bval.version>2.0-SNAPSHOT</apache-bval.version>
>>>> +        <hibernate-val.version>5.0.1.Final</hibernate-val.version>
>>>>      </properties>
>>>>
>>>>      <dependencies>
>>>>          <dependency>
>>>> +            <groupId>org.apache.geronimo.specs</groupId>
>>>> +            <artifactId>geronimo-el_2.2_spec</artifactId>
>>>> +            <version>1.0.2</version>
>>>> +            <scope>test</scope>
>>>> +        </dependency>
>>>> +        <dependency>
>>>> +            <groupId>org.apache.tomcat</groupId>
>>>> +            <artifactId>tomcat-jasper-el</artifactId>
>>>> +            <version>7.0.42</version>
>>>> +            <scope>test</scope>
>>>> +        </dependency>
>>>> +        <dependency>
>>>>              <groupId>com.sun.codemodel</groupId>
>>>>              <artifactId>codemodel</artifactId>
>>>>              <version>2.2</version>
>>>> @@ -52,7 +64,7 @@
>>>>          <dependency>
>>>>              <groupId>javax.validation</groupId>
>>>>              <artifactId>validation-api</artifactId>
>>>> -            <version>1.0.0.GA</version>
>>>> +            <version>1.1.0.Final</version>
>>>>          </dependency>
>>>>          <dependency>
>>>>              <groupId>org.apache.bval</groupId>
>>>>
>>>>
>>>> *Romain Manni-Bucau*
>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>> *Github: https://github.com/rmannibucau*
>>>>
>>>>
>>>>
>>>> 2013/8/12 Matt Benson <gu...@gmail.com>
>>>>
>>>>> I agree, looks reasonable.  :)  There is also some stuff at
>>>>> http://svn.apache.org/viewvc/bval/sandbox/jsr303-impl-bench/ if you
>>>>> had any interest in merging your work there.
>>>>>
>>>>> Matt
>>>>>
>>>>>
>>>>> On Mon, Aug 12, 2013 at 6:58 AM, Romain Manni-Bucau <
>>>>> rmannibucau@gmail.com> wrote:
>>>>>
>>>>>> Hi
>>>>>>
>>>>>> just did a simple test:
>>>>>> https://gist.github.com/rmannibucau/6dab2d80ea2b26c40876
>>>>>>
>>>>>> with:
>>>>>>
>>>>>> public class ValidatedBeanL1 {
>>>>>>     @Valid
>>>>>>     private ValidatedBeanL2 l2;
>>>>>>
>>>>>>     @Min(1)
>>>>>>     private int size;
>>>>>> }
>>>>>>
>>>>>> and
>>>>>>
>>>>>>
>>>>>> public class ValidatedBeanL2 {
>>>>>>     @NotNull
>>>>>>     private String name;
>>>>>>
>>>>>>     @Size(min = 3, max = 5)
>>>>>>     private String fullname;
>>>>>> }
>>>>>>
>>>>>> It doesn't look bad to me but wdyt?
>>>>>>
>>>>>> *Romain Manni-Bucau*
>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>> *Github: https://github.com/rmannibucau*
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/7/17 Matt Benson <gu...@gmail.com>
>>>>>>
>>>>>>> Great work, Romain!
>>>>>>>
>>>>>>> Matt
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Jul 17, 2013 at 10:34 AM, Romain Manni-Bucau
>>>>>>> <rm...@gmail.com>wrote:
>>>>>>>
>>>>>>> > Hi,
>>>>>>> >
>>>>>>> > FYI with some hacks (EJB hacks (@Resource) + cdi interceptor hacks
>>>>>>> (adding
>>>>>>> > beans.xml with needed interceptors instead of using discovery) +
>>>>>>> jndi hack
>>>>>>> > (lookup)) we get now on this branch:
>>>>>>> >
>>>>>>> > *Tests run: 758, Failures: 0, Errors: 0, Skipped: 0*
>>>>>>> > *
>>>>>>> > *
>>>>>>> > PS: it needs OWB trunk built with cdi-1.1 profile
>>>>>>> >
>>>>>>> > *Romain Manni-Bucau*
>>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>> > 2013/7/1 Romain Manni-Bucau <rm...@gmail.com>
>>>>>>> >
>>>>>>> > > Hi guys,
>>>>>>> > >
>>>>>>> > > just created a branch to play with bean validation 1.1
>>>>>>> > >
>>>>>>> > > here it is
>>>>>>> https://svn.apache.org/repos/asf/bval/branches/bval-11/
>>>>>>> > >
>>>>>>> > > it doesn't fully pass TCKs ATM because we'd need cdi 1.1 impl
>>>>>>> (and it
>>>>>>> > > would be great to use OWB ;) + some refactorings before going
>>>>>>> further but
>>>>>>> > > it is a start.
>>>>>>> > >
>>>>>>> > > *Romain Manni-Bucau*
>>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>>> > >
>>>>>>> > >
>>>>>>> >
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Re: bean validation 1.1

Posted by Matt Benson <gu...@gmail.com>.
true


On Mon, Aug 12, 2013 at 10:35 AM, Romain Manni-Bucau
<rm...@gmail.com>wrote:

> not exactly, my bench (which was simpler than this one) showed it was
> comparable (0.5 was good)
>
> but in my test graph was pretty trivial
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> *Github: https://github.com/rmannibucau*
>
>
>
> 2013/8/12 Matt Benson <gu...@gmail.com>
>
>> Strange that your benchmarks showed our performance to be pretty good
>> compared to Hibernate Validator, but these show us to be relatively
>> horrible.  :(
>>
>> Matt
>>
>>
>> On Mon, Aug 12, 2013 at 10:24 AM, Romain Manni-Bucau <
>> rmannibucau@gmail.com> wrote:
>>
>>> here is what i get with this project:
>>>
>>> APACHE
>>>   Raw validation time:        3013ms {11165}
>>>   Raw parsing time:          14318ms {2000}
>>>   First parse and validate:  12988ms {10150}
>>>   Multithreaded validation:   4062ms
>>> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 41.522
>>> sec
>>> Running org.apache.bval.bench.HibernateTest
>>> HIBERNATE
>>>   Raw validation time:        2031ms {11165}
>>>   Raw parsing time:           3712ms {2000}
>>>   First parse and validate:   4020ms {10150}
>>>   Multithreaded validation:   1582ms
>>> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.987
>>> sec
>>>
>>> Here is the diff to test against bval 1.1 impls:
>>>
>>> Index: pom.xml
>>> ===================================================================
>>> --- pom.xml (revision 1513159)
>>> +++ pom.xml (working copy)
>>> @@ -26,7 +26,7 @@
>>>      <parent>
>>>          <groupId>org.apache.bval</groupId>
>>>          <artifactId>bval-parent</artifactId>
>>> -        <version>0.2-incubating-SNAPSHOT</version>
>>> +        <version>2.0-SNAPSHOT</version>
>>>      </parent>
>>>
>>>      <artifactId>jsr303-impl-bench</artifactId>
>>> @@ -34,12 +34,24 @@
>>>      <name>Apache Bean Validation :: jsr303-impl-bench (optional)</name>
>>>
>>>      <properties>
>>> -        <apache-bval.version>0.1-incubating</apache-bval.version>
>>> -        <hibernate-val.version>4.1.0.CR1</hibernate-val.version>
>>> +        <apache-bval.version>2.0-SNAPSHOT</apache-bval.version>
>>> +        <hibernate-val.version>5.0.1.Final</hibernate-val.version>
>>>      </properties>
>>>
>>>      <dependencies>
>>>          <dependency>
>>> +            <groupId>org.apache.geronimo.specs</groupId>
>>> +            <artifactId>geronimo-el_2.2_spec</artifactId>
>>> +            <version>1.0.2</version>
>>> +            <scope>test</scope>
>>> +        </dependency>
>>> +        <dependency>
>>> +            <groupId>org.apache.tomcat</groupId>
>>> +            <artifactId>tomcat-jasper-el</artifactId>
>>> +            <version>7.0.42</version>
>>> +            <scope>test</scope>
>>> +        </dependency>
>>> +        <dependency>
>>>              <groupId>com.sun.codemodel</groupId>
>>>              <artifactId>codemodel</artifactId>
>>>              <version>2.2</version>
>>> @@ -52,7 +64,7 @@
>>>          <dependency>
>>>              <groupId>javax.validation</groupId>
>>>              <artifactId>validation-api</artifactId>
>>> -            <version>1.0.0.GA</version>
>>> +            <version>1.1.0.Final</version>
>>>          </dependency>
>>>          <dependency>
>>>              <groupId>org.apache.bval</groupId>
>>>
>>>
>>> *Romain Manni-Bucau*
>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>> *Github: https://github.com/rmannibucau*
>>>
>>>
>>>
>>> 2013/8/12 Matt Benson <gu...@gmail.com>
>>>
>>>> I agree, looks reasonable.  :)  There is also some stuff at
>>>> http://svn.apache.org/viewvc/bval/sandbox/jsr303-impl-bench/ if you
>>>> had any interest in merging your work there.
>>>>
>>>> Matt
>>>>
>>>>
>>>> On Mon, Aug 12, 2013 at 6:58 AM, Romain Manni-Bucau <
>>>> rmannibucau@gmail.com> wrote:
>>>>
>>>>> Hi
>>>>>
>>>>> just did a simple test:
>>>>> https://gist.github.com/rmannibucau/6dab2d80ea2b26c40876
>>>>>
>>>>> with:
>>>>>
>>>>> public class ValidatedBeanL1 {
>>>>>     @Valid
>>>>>     private ValidatedBeanL2 l2;
>>>>>
>>>>>     @Min(1)
>>>>>     private int size;
>>>>> }
>>>>>
>>>>> and
>>>>>
>>>>>
>>>>> public class ValidatedBeanL2 {
>>>>>     @NotNull
>>>>>     private String name;
>>>>>
>>>>>     @Size(min = 3, max = 5)
>>>>>     private String fullname;
>>>>> }
>>>>>
>>>>> It doesn't look bad to me but wdyt?
>>>>>
>>>>> *Romain Manni-Bucau*
>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>> *Github: https://github.com/rmannibucau*
>>>>>
>>>>>
>>>>>
>>>>> 2013/7/17 Matt Benson <gu...@gmail.com>
>>>>>
>>>>>> Great work, Romain!
>>>>>>
>>>>>> Matt
>>>>>>
>>>>>>
>>>>>> On Wed, Jul 17, 2013 at 10:34 AM, Romain Manni-Bucau
>>>>>> <rm...@gmail.com>wrote:
>>>>>>
>>>>>> > Hi,
>>>>>> >
>>>>>> > FYI with some hacks (EJB hacks (@Resource) + cdi interceptor hacks
>>>>>> (adding
>>>>>> > beans.xml with needed interceptors instead of using discovery) +
>>>>>> jndi hack
>>>>>> > (lookup)) we get now on this branch:
>>>>>> >
>>>>>> > *Tests run: 758, Failures: 0, Errors: 0, Skipped: 0*
>>>>>> > *
>>>>>> > *
>>>>>> > PS: it needs OWB trunk built with cdi-1.1 profile
>>>>>> >
>>>>>> > *Romain Manni-Bucau*
>>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>> > *Github: https://github.com/rmannibucau*
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > 2013/7/1 Romain Manni-Bucau <rm...@gmail.com>
>>>>>> >
>>>>>> > > Hi guys,
>>>>>> > >
>>>>>> > > just created a branch to play with bean validation 1.1
>>>>>> > >
>>>>>> > > here it is
>>>>>> https://svn.apache.org/repos/asf/bval/branches/bval-11/
>>>>>> > >
>>>>>> > > it doesn't fully pass TCKs ATM because we'd need cdi 1.1 impl
>>>>>> (and it
>>>>>> > > would be great to use OWB ;) + some refactorings before going
>>>>>> further but
>>>>>> > > it is a start.
>>>>>> > >
>>>>>> > > *Romain Manni-Bucau*
>>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>>> > http://rmannibucau.wordpress.com/>
>>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>>> > > *Github: https://github.com/rmannibucau*
>>>>>> > >
>>>>>> > >
>>>>>> >
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

Re: bean validation 1.1

Posted by Romain Manni-Bucau <rm...@gmail.com>.
not exactly, my bench (which was simpler than this one) showed it was
comparable (0.5 was good)

but in my test graph was pretty trivial

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*



2013/8/12 Matt Benson <gu...@gmail.com>

> Strange that your benchmarks showed our performance to be pretty good
> compared to Hibernate Validator, but these show us to be relatively
> horrible.  :(
>
> Matt
>
>
> On Mon, Aug 12, 2013 at 10:24 AM, Romain Manni-Bucau <
> rmannibucau@gmail.com> wrote:
>
>> here is what i get with this project:
>>
>> APACHE
>>   Raw validation time:        3013ms {11165}
>>   Raw parsing time:          14318ms {2000}
>>   First parse and validate:  12988ms {10150}
>>   Multithreaded validation:   4062ms
>> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 41.522 sec
>> Running org.apache.bval.bench.HibernateTest
>> HIBERNATE
>>   Raw validation time:        2031ms {11165}
>>   Raw parsing time:           3712ms {2000}
>>   First parse and validate:   4020ms {10150}
>>   Multithreaded validation:   1582ms
>> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.987 sec
>>
>> Here is the diff to test against bval 1.1 impls:
>>
>> Index: pom.xml
>> ===================================================================
>> --- pom.xml (revision 1513159)
>> +++ pom.xml (working copy)
>> @@ -26,7 +26,7 @@
>>      <parent>
>>          <groupId>org.apache.bval</groupId>
>>          <artifactId>bval-parent</artifactId>
>> -        <version>0.2-incubating-SNAPSHOT</version>
>> +        <version>2.0-SNAPSHOT</version>
>>      </parent>
>>
>>      <artifactId>jsr303-impl-bench</artifactId>
>> @@ -34,12 +34,24 @@
>>      <name>Apache Bean Validation :: jsr303-impl-bench (optional)</name>
>>
>>      <properties>
>> -        <apache-bval.version>0.1-incubating</apache-bval.version>
>> -        <hibernate-val.version>4.1.0.CR1</hibernate-val.version>
>> +        <apache-bval.version>2.0-SNAPSHOT</apache-bval.version>
>> +        <hibernate-val.version>5.0.1.Final</hibernate-val.version>
>>      </properties>
>>
>>      <dependencies>
>>          <dependency>
>> +            <groupId>org.apache.geronimo.specs</groupId>
>> +            <artifactId>geronimo-el_2.2_spec</artifactId>
>> +            <version>1.0.2</version>
>> +            <scope>test</scope>
>> +        </dependency>
>> +        <dependency>
>> +            <groupId>org.apache.tomcat</groupId>
>> +            <artifactId>tomcat-jasper-el</artifactId>
>> +            <version>7.0.42</version>
>> +            <scope>test</scope>
>> +        </dependency>
>> +        <dependency>
>>              <groupId>com.sun.codemodel</groupId>
>>              <artifactId>codemodel</artifactId>
>>              <version>2.2</version>
>> @@ -52,7 +64,7 @@
>>          <dependency>
>>              <groupId>javax.validation</groupId>
>>              <artifactId>validation-api</artifactId>
>> -            <version>1.0.0.GA</version>
>> +            <version>1.1.0.Final</version>
>>          </dependency>
>>          <dependency>
>>              <groupId>org.apache.bval</groupId>
>>
>>
>> *Romain Manni-Bucau*
>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>> *Github: https://github.com/rmannibucau*
>>
>>
>>
>> 2013/8/12 Matt Benson <gu...@gmail.com>
>>
>>> I agree, looks reasonable.  :)  There is also some stuff at
>>> http://svn.apache.org/viewvc/bval/sandbox/jsr303-impl-bench/ if you had
>>> any interest in merging your work there.
>>>
>>> Matt
>>>
>>>
>>> On Mon, Aug 12, 2013 at 6:58 AM, Romain Manni-Bucau <
>>> rmannibucau@gmail.com> wrote:
>>>
>>>> Hi
>>>>
>>>> just did a simple test:
>>>> https://gist.github.com/rmannibucau/6dab2d80ea2b26c40876
>>>>
>>>> with:
>>>>
>>>> public class ValidatedBeanL1 {
>>>>     @Valid
>>>>     private ValidatedBeanL2 l2;
>>>>
>>>>     @Min(1)
>>>>     private int size;
>>>> }
>>>>
>>>> and
>>>>
>>>>
>>>> public class ValidatedBeanL2 {
>>>>     @NotNull
>>>>     private String name;
>>>>
>>>>     @Size(min = 3, max = 5)
>>>>     private String fullname;
>>>> }
>>>>
>>>> It doesn't look bad to me but wdyt?
>>>>
>>>> *Romain Manni-Bucau*
>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>> *Github: https://github.com/rmannibucau*
>>>>
>>>>
>>>>
>>>> 2013/7/17 Matt Benson <gu...@gmail.com>
>>>>
>>>>> Great work, Romain!
>>>>>
>>>>> Matt
>>>>>
>>>>>
>>>>> On Wed, Jul 17, 2013 at 10:34 AM, Romain Manni-Bucau
>>>>> <rm...@gmail.com>wrote:
>>>>>
>>>>> > Hi,
>>>>> >
>>>>> > FYI with some hacks (EJB hacks (@Resource) + cdi interceptor hacks
>>>>> (adding
>>>>> > beans.xml with needed interceptors instead of using discovery) +
>>>>> jndi hack
>>>>> > (lookup)) we get now on this branch:
>>>>> >
>>>>> > *Tests run: 758, Failures: 0, Errors: 0, Skipped: 0*
>>>>> > *
>>>>> > *
>>>>> > PS: it needs OWB trunk built with cdi-1.1 profile
>>>>> >
>>>>> > *Romain Manni-Bucau*
>>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>> > http://rmannibucau.wordpress.com/>
>>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>> > *Github: https://github.com/rmannibucau*
>>>>> >
>>>>> >
>>>>> >
>>>>> > 2013/7/1 Romain Manni-Bucau <rm...@gmail.com>
>>>>> >
>>>>> > > Hi guys,
>>>>> > >
>>>>> > > just created a branch to play with bean validation 1.1
>>>>> > >
>>>>> > > here it is https://svn.apache.org/repos/asf/bval/branches/bval-11/
>>>>> > >
>>>>> > > it doesn't fully pass TCKs ATM because we'd need cdi 1.1 impl (and
>>>>> it
>>>>> > > would be great to use OWB ;) + some refactorings before going
>>>>> further but
>>>>> > > it is a start.
>>>>> > >
>>>>> > > *Romain Manni-Bucau*
>>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>>> > http://rmannibucau.wordpress.com/>
>>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>>> > > *Github: https://github.com/rmannibucau*
>>>>> > >
>>>>> > >
>>>>> >
>>>>>
>>>>
>>>>
>>>
>>
>

Re: bean validation 1.1

Posted by Matt Benson <gu...@gmail.com>.
Strange that your benchmarks showed our performance to be pretty good
compared to Hibernate Validator, but these show us to be relatively
horrible.  :(

Matt


On Mon, Aug 12, 2013 at 10:24 AM, Romain Manni-Bucau
<rm...@gmail.com>wrote:

> here is what i get with this project:
>
> APACHE
>   Raw validation time:        3013ms {11165}
>   Raw parsing time:          14318ms {2000}
>   First parse and validate:  12988ms {10150}
>   Multithreaded validation:   4062ms
> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 41.522 sec
> Running org.apache.bval.bench.HibernateTest
> HIBERNATE
>   Raw validation time:        2031ms {11165}
>   Raw parsing time:           3712ms {2000}
>   First parse and validate:   4020ms {10150}
>   Multithreaded validation:   1582ms
> Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.987 sec
>
> Here is the diff to test against bval 1.1 impls:
>
> Index: pom.xml
> ===================================================================
> --- pom.xml (revision 1513159)
> +++ pom.xml (working copy)
> @@ -26,7 +26,7 @@
>      <parent>
>          <groupId>org.apache.bval</groupId>
>          <artifactId>bval-parent</artifactId>
> -        <version>0.2-incubating-SNAPSHOT</version>
> +        <version>2.0-SNAPSHOT</version>
>      </parent>
>
>      <artifactId>jsr303-impl-bench</artifactId>
> @@ -34,12 +34,24 @@
>      <name>Apache Bean Validation :: jsr303-impl-bench (optional)</name>
>
>      <properties>
> -        <apache-bval.version>0.1-incubating</apache-bval.version>
> -        <hibernate-val.version>4.1.0.CR1</hibernate-val.version>
> +        <apache-bval.version>2.0-SNAPSHOT</apache-bval.version>
> +        <hibernate-val.version>5.0.1.Final</hibernate-val.version>
>      </properties>
>
>      <dependencies>
>          <dependency>
> +            <groupId>org.apache.geronimo.specs</groupId>
> +            <artifactId>geronimo-el_2.2_spec</artifactId>
> +            <version>1.0.2</version>
> +            <scope>test</scope>
> +        </dependency>
> +        <dependency>
> +            <groupId>org.apache.tomcat</groupId>
> +            <artifactId>tomcat-jasper-el</artifactId>
> +            <version>7.0.42</version>
> +            <scope>test</scope>
> +        </dependency>
> +        <dependency>
>              <groupId>com.sun.codemodel</groupId>
>              <artifactId>codemodel</artifactId>
>              <version>2.2</version>
> @@ -52,7 +64,7 @@
>          <dependency>
>              <groupId>javax.validation</groupId>
>              <artifactId>validation-api</artifactId>
> -            <version>1.0.0.GA</version>
> +            <version>1.1.0.Final</version>
>          </dependency>
>          <dependency>
>              <groupId>org.apache.bval</groupId>
>
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> *Github: https://github.com/rmannibucau*
>
>
>
> 2013/8/12 Matt Benson <gu...@gmail.com>
>
>> I agree, looks reasonable.  :)  There is also some stuff at
>> http://svn.apache.org/viewvc/bval/sandbox/jsr303-impl-bench/ if you had
>> any interest in merging your work there.
>>
>> Matt
>>
>>
>> On Mon, Aug 12, 2013 at 6:58 AM, Romain Manni-Bucau <
>> rmannibucau@gmail.com> wrote:
>>
>>> Hi
>>>
>>> just did a simple test:
>>> https://gist.github.com/rmannibucau/6dab2d80ea2b26c40876
>>>
>>> with:
>>>
>>> public class ValidatedBeanL1 {
>>>     @Valid
>>>     private ValidatedBeanL2 l2;
>>>
>>>     @Min(1)
>>>     private int size;
>>> }
>>>
>>> and
>>>
>>>
>>> public class ValidatedBeanL2 {
>>>     @NotNull
>>>     private String name;
>>>
>>>     @Size(min = 3, max = 5)
>>>     private String fullname;
>>> }
>>>
>>> It doesn't look bad to me but wdyt?
>>>
>>> *Romain Manni-Bucau*
>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>> *Github: https://github.com/rmannibucau*
>>>
>>>
>>>
>>> 2013/7/17 Matt Benson <gu...@gmail.com>
>>>
>>>> Great work, Romain!
>>>>
>>>> Matt
>>>>
>>>>
>>>> On Wed, Jul 17, 2013 at 10:34 AM, Romain Manni-Bucau
>>>> <rm...@gmail.com>wrote:
>>>>
>>>> > Hi,
>>>> >
>>>> > FYI with some hacks (EJB hacks (@Resource) + cdi interceptor hacks
>>>> (adding
>>>> > beans.xml with needed interceptors instead of using discovery) + jndi
>>>> hack
>>>> > (lookup)) we get now on this branch:
>>>> >
>>>> > *Tests run: 758, Failures: 0, Errors: 0, Skipped: 0*
>>>> > *
>>>> > *
>>>> > PS: it needs OWB trunk built with cdi-1.1 profile
>>>> >
>>>> > *Romain Manni-Bucau*
>>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>>> > http://rmannibucau.wordpress.com/>
>>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>> > *Github: https://github.com/rmannibucau*
>>>> >
>>>> >
>>>> >
>>>> > 2013/7/1 Romain Manni-Bucau <rm...@gmail.com>
>>>> >
>>>> > > Hi guys,
>>>> > >
>>>> > > just created a branch to play with bean validation 1.1
>>>> > >
>>>> > > here it is https://svn.apache.org/repos/asf/bval/branches/bval-11/
>>>> > >
>>>> > > it doesn't fully pass TCKs ATM because we'd need cdi 1.1 impl (and
>>>> it
>>>> > > would be great to use OWB ;) + some refactorings before going
>>>> further but
>>>> > > it is a start.
>>>> > >
>>>> > > *Romain Manni-Bucau*
>>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>>> > http://rmannibucau.wordpress.com/>
>>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>>> > > *Github: https://github.com/rmannibucau*
>>>> > >
>>>> > >
>>>> >
>>>>
>>>
>>>
>>
>

Re: bean validation 1.1

Posted by Romain Manni-Bucau <rm...@gmail.com>.
here is what i get with this project:

APACHE
  Raw validation time:        3013ms {11165}
  Raw parsing time:          14318ms {2000}
  First parse and validate:  12988ms {10150}
  Multithreaded validation:   4062ms
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 41.522 sec
Running org.apache.bval.bench.HibernateTest
HIBERNATE
  Raw validation time:        2031ms {11165}
  Raw parsing time:           3712ms {2000}
  First parse and validate:   4020ms {10150}
  Multithreaded validation:   1582ms
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.987 sec

Here is the diff to test against bval 1.1 impls:

Index: pom.xml
===================================================================
--- pom.xml (revision 1513159)
+++ pom.xml (working copy)
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.bval</groupId>
         <artifactId>bval-parent</artifactId>
-        <version>0.2-incubating-SNAPSHOT</version>
+        <version>2.0-SNAPSHOT</version>
     </parent>

     <artifactId>jsr303-impl-bench</artifactId>
@@ -34,12 +34,24 @@
     <name>Apache Bean Validation :: jsr303-impl-bench (optional)</name>

     <properties>
-        <apache-bval.version>0.1-incubating</apache-bval.version>
-        <hibernate-val.version>4.1.0.CR1</hibernate-val.version>
+        <apache-bval.version>2.0-SNAPSHOT</apache-bval.version>
+        <hibernate-val.version>5.0.1.Final</hibernate-val.version>
     </properties>

     <dependencies>
         <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-el_2.2_spec</artifactId>
+            <version>1.0.2</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tomcat</groupId>
+            <artifactId>tomcat-jasper-el</artifactId>
+            <version>7.0.42</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.sun.codemodel</groupId>
             <artifactId>codemodel</artifactId>
             <version>2.2</version>
@@ -52,7 +64,7 @@
         <dependency>
             <groupId>javax.validation</groupId>
             <artifactId>validation-api</artifactId>
-            <version>1.0.0.GA</version>
+            <version>1.1.0.Final</version>
         </dependency>
         <dependency>
             <groupId>org.apache.bval</groupId>


*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*



2013/8/12 Matt Benson <gu...@gmail.com>

> I agree, looks reasonable.  :)  There is also some stuff at
> http://svn.apache.org/viewvc/bval/sandbox/jsr303-impl-bench/ if you had
> any interest in merging your work there.
>
> Matt
>
>
> On Mon, Aug 12, 2013 at 6:58 AM, Romain Manni-Bucau <rmannibucau@gmail.com
> > wrote:
>
>> Hi
>>
>> just did a simple test:
>> https://gist.github.com/rmannibucau/6dab2d80ea2b26c40876
>>
>> with:
>>
>> public class ValidatedBeanL1 {
>>     @Valid
>>     private ValidatedBeanL2 l2;
>>
>>     @Min(1)
>>     private int size;
>> }
>>
>> and
>>
>>
>> public class ValidatedBeanL2 {
>>     @NotNull
>>     private String name;
>>
>>     @Size(min = 3, max = 5)
>>     private String fullname;
>> }
>>
>> It doesn't look bad to me but wdyt?
>>
>> *Romain Manni-Bucau*
>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>> *Github: https://github.com/rmannibucau*
>>
>>
>>
>> 2013/7/17 Matt Benson <gu...@gmail.com>
>>
>>> Great work, Romain!
>>>
>>> Matt
>>>
>>>
>>> On Wed, Jul 17, 2013 at 10:34 AM, Romain Manni-Bucau
>>> <rm...@gmail.com>wrote:
>>>
>>> > Hi,
>>> >
>>> > FYI with some hacks (EJB hacks (@Resource) + cdi interceptor hacks
>>> (adding
>>> > beans.xml with needed interceptors instead of using discovery) + jndi
>>> hack
>>> > (lookup)) we get now on this branch:
>>> >
>>> > *Tests run: 758, Failures: 0, Errors: 0, Skipped: 0*
>>> > *
>>> > *
>>> > PS: it needs OWB trunk built with cdi-1.1 profile
>>> >
>>> > *Romain Manni-Bucau*
>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>> > *Blog: **http://rmannibucau.wordpress.com/*<
>>> > http://rmannibucau.wordpress.com/>
>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>> > *Github: https://github.com/rmannibucau*
>>> >
>>> >
>>> >
>>> > 2013/7/1 Romain Manni-Bucau <rm...@gmail.com>
>>> >
>>> > > Hi guys,
>>> > >
>>> > > just created a branch to play with bean validation 1.1
>>> > >
>>> > > here it is https://svn.apache.org/repos/asf/bval/branches/bval-11/
>>> > >
>>> > > it doesn't fully pass TCKs ATM because we'd need cdi 1.1 impl (and it
>>> > > would be great to use OWB ;) + some refactorings before going
>>> further but
>>> > > it is a start.
>>> > >
>>> > > *Romain Manni-Bucau*
>>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>>> > http://rmannibucau.wordpress.com/>
>>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>>> > > *Github: https://github.com/rmannibucau*
>>> > >
>>> > >
>>> >
>>>
>>
>>
>

Re: bean validation 1.1

Posted by Matt Benson <gu...@gmail.com>.
I agree, looks reasonable.  :)  There is also some stuff at
http://svn.apache.org/viewvc/bval/sandbox/jsr303-impl-bench/ if you had any
interest in merging your work there.

Matt


On Mon, Aug 12, 2013 at 6:58 AM, Romain Manni-Bucau
<rm...@gmail.com>wrote:

> Hi
>
> just did a simple test:
> https://gist.github.com/rmannibucau/6dab2d80ea2b26c40876
>
> with:
>
> public class ValidatedBeanL1 {
>     @Valid
>     private ValidatedBeanL2 l2;
>
>     @Min(1)
>     private int size;
> }
>
> and
>
>
> public class ValidatedBeanL2 {
>     @NotNull
>     private String name;
>
>     @Size(min = 3, max = 5)
>     private String fullname;
> }
>
> It doesn't look bad to me but wdyt?
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> *Github: https://github.com/rmannibucau*
>
>
>
> 2013/7/17 Matt Benson <gu...@gmail.com>
>
>> Great work, Romain!
>>
>> Matt
>>
>>
>> On Wed, Jul 17, 2013 at 10:34 AM, Romain Manni-Bucau
>> <rm...@gmail.com>wrote:
>>
>> > Hi,
>> >
>> > FYI with some hacks (EJB hacks (@Resource) + cdi interceptor hacks
>> (adding
>> > beans.xml with needed interceptors instead of using discovery) + jndi
>> hack
>> > (lookup)) we get now on this branch:
>> >
>> > *Tests run: 758, Failures: 0, Errors: 0, Skipped: 0*
>> > *
>> > *
>> > PS: it needs OWB trunk built with cdi-1.1 profile
>> >
>> > *Romain Manni-Bucau*
>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>> > *Blog: **http://rmannibucau.wordpress.com/*<
>> > http://rmannibucau.wordpress.com/>
>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>> > *Github: https://github.com/rmannibucau*
>> >
>> >
>> >
>> > 2013/7/1 Romain Manni-Bucau <rm...@gmail.com>
>> >
>> > > Hi guys,
>> > >
>> > > just created a branch to play with bean validation 1.1
>> > >
>> > > here it is https://svn.apache.org/repos/asf/bval/branches/bval-11/
>> > >
>> > > it doesn't fully pass TCKs ATM because we'd need cdi 1.1 impl (and it
>> > > would be great to use OWB ;) + some refactorings before going further
>> but
>> > > it is a start.
>> > >
>> > > *Romain Manni-Bucau*
>> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
>> > > *Blog: **http://rmannibucau.wordpress.com/*<
>> > http://rmannibucau.wordpress.com/>
>> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
>> > > *Github: https://github.com/rmannibucau*
>> > >
>> > >
>> >
>>
>
>

Re: bean validation 1.1

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi

just did a simple test:
https://gist.github.com/rmannibucau/6dab2d80ea2b26c40876

with:

public class ValidatedBeanL1 {
    @Valid
    private ValidatedBeanL2 l2;

    @Min(1)
    private int size;
}

and


public class ValidatedBeanL2 {
    @NotNull
    private String name;

    @Size(min = 3, max = 5)
    private String fullname;
}

It doesn't look bad to me but wdyt?

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*



2013/7/17 Matt Benson <gu...@gmail.com>

> Great work, Romain!
>
> Matt
>
>
> On Wed, Jul 17, 2013 at 10:34 AM, Romain Manni-Bucau
> <rm...@gmail.com>wrote:
>
> > Hi,
> >
> > FYI with some hacks (EJB hacks (@Resource) + cdi interceptor hacks
> (adding
> > beans.xml with needed interceptors instead of using discovery) + jndi
> hack
> > (lookup)) we get now on this branch:
> >
> > *Tests run: 758, Failures: 0, Errors: 0, Skipped: 0*
> > *
> > *
> > PS: it needs OWB trunk built with cdi-1.1 profile
> >
> > *Romain Manni-Bucau*
> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> > *Blog: **http://rmannibucau.wordpress.com/*<
> > http://rmannibucau.wordpress.com/>
> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> > *Github: https://github.com/rmannibucau*
> >
> >
> >
> > 2013/7/1 Romain Manni-Bucau <rm...@gmail.com>
> >
> > > Hi guys,
> > >
> > > just created a branch to play with bean validation 1.1
> > >
> > > here it is https://svn.apache.org/repos/asf/bval/branches/bval-11/
> > >
> > > it doesn't fully pass TCKs ATM because we'd need cdi 1.1 impl (and it
> > > would be great to use OWB ;) + some refactorings before going further
> but
> > > it is a start.
> > >
> > > *Romain Manni-Bucau*
> > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> > > *Blog: **http://rmannibucau.wordpress.com/*<
> > http://rmannibucau.wordpress.com/>
> > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> > > *Github: https://github.com/rmannibucau*
> > >
> > >
> >
>

Re: bean validation 1.1

Posted by Matt Benson <gu...@gmail.com>.
Great work, Romain!

Matt


On Wed, Jul 17, 2013 at 10:34 AM, Romain Manni-Bucau
<rm...@gmail.com>wrote:

> Hi,
>
> FYI with some hacks (EJB hacks (@Resource) + cdi interceptor hacks (adding
> beans.xml with needed interceptors instead of using discovery) + jndi hack
> (lookup)) we get now on this branch:
>
> *Tests run: 758, Failures: 0, Errors: 0, Skipped: 0*
> *
> *
> PS: it needs OWB trunk built with cdi-1.1 profile
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> *Blog: **http://rmannibucau.wordpress.com/*<
> http://rmannibucau.wordpress.com/>
> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> *Github: https://github.com/rmannibucau*
>
>
>
> 2013/7/1 Romain Manni-Bucau <rm...@gmail.com>
>
> > Hi guys,
> >
> > just created a branch to play with bean validation 1.1
> >
> > here it is https://svn.apache.org/repos/asf/bval/branches/bval-11/
> >
> > it doesn't fully pass TCKs ATM because we'd need cdi 1.1 impl (and it
> > would be great to use OWB ;) + some refactorings before going further but
> > it is a start.
> >
> > *Romain Manni-Bucau*
> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> > *Blog: **http://rmannibucau.wordpress.com/*<
> http://rmannibucau.wordpress.com/>
> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> > *Github: https://github.com/rmannibucau*
> >
> >
>

Re: bean validation 1.1

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi,

FYI with some hacks (EJB hacks (@Resource) + cdi interceptor hacks (adding
beans.xml with needed interceptors instead of using discovery) + jndi hack
(lookup)) we get now on this branch:

*Tests run: 758, Failures: 0, Errors: 0, Skipped: 0*
*
*
PS: it needs OWB trunk built with cdi-1.1 profile

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*



2013/7/1 Romain Manni-Bucau <rm...@gmail.com>

> Hi guys,
>
> just created a branch to play with bean validation 1.1
>
> here it is https://svn.apache.org/repos/asf/bval/branches/bval-11/
>
> it doesn't fully pass TCKs ATM because we'd need cdi 1.1 impl (and it
> would be great to use OWB ;) + some refactorings before going further but
> it is a start.
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> *Github: https://github.com/rmannibucau*
>
>