On Mon, Jul 24, 2017 at 2:54 PM, Gunnar Morling <gunnar(a)hibernate.org>
wrote:
Awesome, thanks a lot for getting the numbers and applying the
improvements.
So to be sure, at runtime (non-metadata retrieval), CR3 already is faster
than 5.4, also without your latest optimisations from the pending PR? You
mentioned this morning that having the first 6 commits from your PR would
be beneficial for the Final, but I think that's about reducing memory
usage, correct?
Nope.
CR3 is faster than 5.4 when not dealing with cascaded validation.
CR3 is significantly slower for cascading than 5.4 due to one call to
TypeVariableBindings executed at runtime.
When I say significantly, it's 2 time slower in the CascadedValidation test
of our performance tests, which is the worst case (e.g. the validation is
really fast as you only have a very simple constraint to apply).
The first 6 commits of the PR (the ones referencing HV-1438
<
https://github.com/hibernate/hibernate-validator/pull/814/commits/b60220c...>)
are about this issue (e.g. have a list of compatible value extractors and
avoid playing with the type arguments at runtime).
--
Guillaume