Guys, Currently Ignite tries to be compatible with JSR-107 specification which is "store-by-value" by default.
So we have the copyOnRead flag with default value set to true in CacheConfiguration. The truth is the performance of Ignite with this flag disabled is significantly better. With a simple test reading locally 1Kb values I see about 7x performance gain with copying disabled. Then the https://issues.apache.org/jira/browse/IGNITE-2795 will be finished total performance impact will even be worse. I propose to add new performance hint related to copyOnRead property. It can be done in two ways: 1. Read static cache configurations on start and print hint if at least one cache has copyOnRead=true. If the dynamic cache with copyOnRead=true is started print hint as well. 2. Introduce IgniteConfiguration.copyOnRead property, which is true by default. All caches will have their respective property set by default using IgniteConfiguration default value. If the IgniteConfiguration.copyOnRead=true when print hint on start. What do you think ? One more thing to mention. MutableConfiguration has storeByValue property, which has the same meaning as copyOnRead, but strangely not used. This might be confusing for users expecting full JSR-107 compatibility. That's the reason for it? -- Best regards, Alexei Scherbakov