Hello!
I have write and run a simple performance test to check
IgniteCache#localEntries and found that current method is not enough fast.
Ignite ignite = Ignition.start();
CacheConfiguration<UUID, UUID> cacheConfiguration = new CacheConfiguration<>();
cacheConfiguration.setBackups(0);
IgniteCache<UUID, UUID> cache = ignite.getOrCreateCache("test.cache");
for (int i = 0; i < 1_000_000; i++) {
cache.put(UUID.randomUUID(), UUID.randomUUID());
}
long startTime = System.currentTimeMillis();
cache.localEntries(CachePeekMode.PRIMARY).forEach(entry -> {
});
System.out.println(String.format("Complete in: %dms",
System.currentTimeMillis() - startTime));
Reading local entries take about 1s (1000 rows per ms) that’s is low.
Test was run on server with provided configuration with default Ignite configs,
load average was about 0 and CPU was not busy more than 10%
Intel(R) Xeon(R) CPU E5645 @ 2.40GHz
May be I do or configure something wrong or current speed is normal?
With best regards
Alisher Alimov
[email protected]