-
Type: Improvement
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: 8.10
-
Component/s: Core
-
Epic Link:
-
Backlog priority:800
-
Sprint:nxcore 9.1.1, nxcore 9.1.2
-
Story Points:2
On high concurrency/throughput of document creation (>10k doc/s) there are multiple contentions:
1. DBSDocumentState.get on small State is slow because of its internal representation as Array, most of access is on ecm:id and ecm:parentId -> use dedicated variables.
2. State uses some String.intern for its keys to prevent object duplication it mights save memory but it has a cost when looking a flame -> may be better to le the GC do its work
3. JavaTypes.getClass is called for each setPropertyValue, this method create contention on hashtable
4. The blob dispatcher ask for the list of repository on each blob for blobinfo -> should be cached
5. ComponentManagement.getComponent() called on each create document