Today I was experimenting with Chronicle Map. Here is a code sample:
package experimental;
import net.openhft.chronicle.core.values.IntValue;
import net.openhft.chronicle.map.ChronicleMap;
import net.openhft.chronicle.values.Values;
public class Tmp {
    public static void main(String[] args) {
        try (ChronicleMap<IntValue, User> users = ChronicleMap
                .of(IntValue.class, User.class)
                .name("users")
                .entries(100_000_000)
                .create();) {
            User user = Values.newHeapInstance(User.class);
            IntValue id = Values.newHeapInstance(IntValue.class);
            for (int i = 1; i < 100_000_000; i++) {
                user.setId(i);
                user.setBalance(Math.random() * 1_000_000);
                id.setValue(i);
                users.put(id, user);
                if (i % 100 == 0) {
                    System.out.println(i + ". " +
                            users.values()
                                    .stream()
                                    .max(User::compareTo)
                                    .map(User::getBalance)
                                    .get());
                }
            }
        }
    }
    public interface User extends Comparable<User> {
        int getId();
        void setId(int id);
        double getBalance();
        void setBalance(double balance);
        @Override
        default int compareTo(User other) {
            return Double.compare(getBalance(), other.getBalance());
        }
    }
}
As you see in above code I am just creating User object and putting it in Chronicle Map, and after each 100th record I am just printing the User with max balance. But unfortunately it is producing some garbage. When I monitored it with VisualVM I got the following:
It seems using streams in Chronicle Map will produce garbage anyway.
So my questions are:
 * Does this mean that I should not use Streams API with Chronicle Map.
 * Are there any other solutions/ways of doing this?
 * How to filter/search Chronicle Map in proper way because I have use cases other than
just putting/getting data in it.
