[hibernate-dev] Optimizing reflection optimization

Кирилл Кленский kirill.klenski at gmail.com
Thu May 27 08:39:12 EDT 2010


Hi,

My measurements have indicated that there is a performance gain. I have
measured the time spent in setPropertyValues and getPropertyValues.
The optimized version was 4 times faster in these methods giving an
estimated application performance increase of about 3%.
Optimizing getPropertyValue and setPropertyValue could give 1.5% more
according to our rough calculations.

Kirill

26 мая 2010 г. 23:53 пользователь Emmanuel Bernard
<emmanuel at hibernate.org>написал:

> Hi,
> Have you noticed a perf difference in your application with and without the
> patch?
> I am wondering if modern VMs have catched up with what Javassist does.
>
> On 26 mai 2010, at 18:29, Кирилл Кленский wrote:
>
> > 1. I have noticed that
> > org.hibernate.bytecode.javassist.BulkAccessorFactory.findAccessors(...)
> is
> > searching for accessor methods in the optimized entity class only. This
> > means that the methods from the superclasses are not visible during
> > BulkAccessor creation unless overridden by child classes. By enhancing
> the
> > algorithm to search down the inheritance tree we could avoid creation of
> > redundant methods which increase the code verbosity a lot. In our case
> > almost all the entities are inherited from the base classes having the
> > common entity properties defined, so the reflection optimization does not
> > work for any of them until we override the inherited methods in all the
> > child classes. The implementation is trivial, but I have got a ready
> > prototype if anybody is interested.
>
>



More information about the hibernate-dev mailing list