Issue Details (XML | Word | Printable)

Key: NUCCORE-1210
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Trivial Trivial
Assignee: Unassigned
Reporter: Kaarel Kann
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
DataNucleus Core

Configuration.getManagerOverrideableProperties() costs quite a lot of cpu during ExecutionContext creation

Created: 20/May/14 02:20 PM   Updated: 21/May/14 05:09 PM   Resolved: 20/May/14 02:40 PM
Component/s: None
Affects Version/s: 4.0.0.m3
Fix Version/s: 4.0.0.m4

Severity: Development


 Description  « Hide
Configuration.getManagerOverrideableProperties() uses quite a lot of cpu during ExecutionContext creation. Cache the calculation and reset it when underlying structures change.

Sort Order: Ascending order - Click to sort in descending order
Andy Jefferson added a comment - 20/May/14 02:40 PM
This gave the order of 7-8% improvement on the previously mentioned test (i.e where there are a large number of ExecutionContext objects). Would give little to no improvement on simple apps where an ExecutionContext is long-lived.

Kaarel Kann added a comment - 20/May/14 02:57 PM

Tested with property: log4j.logger.DataNucleus = OFF, A1

Results:
4.0.0-m3
COMPLETE: Time(ms)=33929

NUCCORE-1210
COMPLETE: Time(ms)=24209

Andy Jefferson added a comment - 20/May/14 03:34 PM
Confirmed, without logging also gives 20-35% improvement on "tests" jdo/performance test.