Francesco Nigro identified that the performance of Objects::deepEquals as being used currently by CacheKeyImplementation is usboptimal, and suggested we only resort to deepEquals in case the disassembled key is represented by an array. Additionally, I remember the size of this key object needing to be kept under control for optimal efficiency as many instances might need to be held in the 2LC; it would seem that recent improvements have made this key significantly larger. I plan to introduce a specialized key implementation for the most common case, in which we don’t have a tenant identifier defined, and the key is not represnted as an array. This specialized key implementation can then benefit from both optimisations. |