[CONTROLLER-1897] Improve QNameFactory performance Created: 28/May/19  Updated: 12/Jun/19  Resolved: 12/Jun/19

Status: Resolved
Project: controller
Component/s: clustering
Affects Version/s: None
Fix Version/s: Sodium, Neon SR2

Type: Improvement Priority: High
Reporter: Robert Varga Assignee: Robert Varga
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
blocks CONTROLLER-1898 Improve NormalizedNodeData{Input,Outp... Resolved
Relates
relates to CONTROLLER-1900 Performance regression in cluster reg... Resolved

 Description   

Profiling performance of snapshot reads is showing that NormalizedNodeInputStreamReader.readQName() is dominating, taking 53% of total CPU cycles. Of this, 43% is spent in QNameFactory.create(String) and 19% creating Strings for that lookup.

Rework QNameFactory.create() to work on structured data holding namespace/revision/localName without having to concatenate, which will save the string manipulation as well as speeding up hash-based lookup (as component String hashcodes are likely to be pre-computed).



 Comments   
Comment by Robert Varga [ 11/Jun/19 ]

CONTROLLER-1900 is driving an SR3 respin, this is important enough to get out.

Generated at Wed Feb 07 19:56:43 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.