производительность запросов hazelcast с агрегацией предикатов

#java #performance #hazelcast #predicate

#java #Производительность #hazelcast #предикат

Вопрос:

есть ли какая-либо разница в производительности между двумя запросами, выполняемыми с помощью предиката, построенного таким образом:

 Predicates.and(pred1, Predicates.and(pred2, pred3))
  

или что-то в этом роде:

 Predicates.and(pred1, pred2, pred3)
  

(также учтите, что список предикатов может быть длиннее 3)

Комментарии:

1. Первый создает 2 предиката, а второй — только один. Второй быстрее и дешевле (с точки зрения памяти и того, что за ним следует) при создании, но для последующего запроса никакого влияния.

2. ну, pred1, pred2 и pred3 — это все предикаты… Итак, да, первый пример создает еще один предикат для каждого предиката поверх третьего, но влияет ли это на производительность запроса?

3. Нет. Потому что предикат полностью вычисляется перед запуском на уровне хранилища данных.

4. спасибо за ответ @AliBenZarrouk . Есть ли у вас какая-либо ссылка, которая поддерживает то, что вы говорите? Я хотел бы немного углубить тему.

Ответ №1:

Первый создает 2 предиката, а второй — только один. Второй быстрее и дешевле (с точки зрения памяти и того, что за ним следует) при создании, но для последующего запроса никакого влияния.