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 <[email protected]>

> 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 <[email protected]>
>
>> 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 <[email protected]>
>>
>>> true
>>>
>>>
>>> On Mon, Aug 12, 2013 at 10:35 AM, Romain Manni-Bucau <
>>> [email protected]> 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 <[email protected]>
>>>>
>>>>> 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 <
>>>>> [email protected]> 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 <[email protected]>
>>>>>>
>>>>>>> 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 <
>>>>>>> [email protected]> 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 <[email protected]>
>>>>>>>>
>>>>>>>>> Great work, Romain!
>>>>>>>>>
>>>>>>>>> Matt
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Jul 17, 2013 at 10:34 AM, Romain Manni-Bucau
>>>>>>>>> <[email protected]>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 <[email protected]>
>>>>>>>>> >
>>>>>>>>> > > 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*
>>>>>>>>> > >
>>>>>>>>> > >
>>>>>>>>> >
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to