AppContext.getProperty() uses poorly-scaling System.getProperty inside #1222
Labels
state: fixed
Fixed by the developer
type: performance
ver: 6.10.0
Fixed in version
ver: 7.0.0
Fixed in version
Milestone
Environment
Description of the bug or enhancement
Have been performing performance testing with JVisualVM.
One of CPU profile method chains shows interesting info:
AppContext.getProperty() uses System.getProperty() inside.
But System.getProperty() is implemented via Hashtable class. Every get() call enters a global synchronized block and therefore is poorly scalable in multithread environment.
I think that all platform code assumes that AppContext.getProperty() is cheap and highly scalable. So depending on System.getProperty() is a problem.
The text was updated successfully, but these errors were encountered: