We're updating the issue view to help you get more done. 

Introduce a fastpath for SessionImpl#fireLoad to be used by internal loops

Description

The method SessionImpl#fireLoad is extremely hot when it's invoked by internal events.

Because of the merge with the EntityManager interface, this method now also checks for several pre-conditions of usage of the current Session, and fires after completion delayed events.

These methods also avoid the relatively simple fireLoad to be inlined when used within hot loops, so we should simply extract a lighter alternative to be used by selected internal methods: fireLoadNoChecks.

This has a good impact on performance, especially with non-trivial object models.

Environment

None

Status

Assignee

Sanne Grinovero

Reporter

Sanne Grinovero

Fix versions

Labels

backPortable

Backport?

Suitable for new contributors

None

Requires Release Note

None

Pull Request

None

backportDecision

None

Components

Priority

Major