по зомбоящику РосПропаганда ему круглосуточно рассказывает
Вы-то "зомбоящик", насколько я могу судить, не смотрите. А коль так, то откуда вы знаете, что он рассказывает, да ещё и круглосуточно?
не рвал дупу
Что такое "дупа"?
перевода стрелок как дети
Именно это вы и сделали, написав, что пользователи, не восторгающиеся шутками про "глюпи рюзге вспарывает обшивку своего окрабля, азаза", являются ольгинскими (иначе же и быть не может)
Бутина уже заговорила
Да-да, #скоро :)
в России начался настоящий патриотический угар
Судя по использованию слов вроде "дупа" вы живёте не в России. Откуда вы тогда знаете какой угар там начался? ТСН рассказала? ;)
пропогандонш, непричемышей
Ещё раз перечитайте мой предыдущий ответ про предсказуемость.
Процентов 95 уже через месяц не вспомнят об этом событии, что не отменяет формирования картины мира из подобных «Не более» и «очередной мемасик».
Опять же, если отмотать твиттеры этих самых журналистов до эпизода с плавающей ступенью и сравнить отзывы тогда и сейчас, то видна вполне ясная разница в тональности высказываний и оценок.
Думаю, уместно задать этот вопрос "Роскосмосу". На мой взгляд, мешало наплевательское отношение к своему образу. Мой ответ был не об этом, а об освещении работы космонавтов "непредвзятыми" журналистами. Комментарии вроде
Это, вероятно, является ещё одним первым достижением российской космической программы: космонавт только что обнажил большой нож и проткнул им свой космический корабль.
и
Я отвлеклась на русских, распарывающих свой космический корабль
Окажись в этом же положении астронавты НАСА, эти же журналисты захлёбывались бы от хвалебных комментариев и подчёркивали бы важность, нужность и т. д. Но на их месте русские, поэтому объективные западные журналисты натужно шутят и соревнуются в петросянстве.
Есть крутые доклады Шипилёва и Куксенко, они об общих началах улучшений производительности и о низкоуровневых вещах. Универсальную статью написать сложно, т. к. примеры из этой статьи, основаны на нашем конкретном проекте и совсем не обязательно подойдут для вашего. Как мне кажется, именно поэтому тот же Шипилёв, Черёмин или Вакарт в основном рассказывают об улучшениях кода, привязанного только к JDK как к некой постоянной для многих разработчиков.
Я думал, что исполняться будет ява-кода из `String::equals`, но интринзифицированный метод, насколько я понимаю, исполняет нативный код, оптимизированный под конкретную платформу.
Проверил с помощью -prof gc, действительно, даже на восьмёрке итератор не создаётся: gc.alloc.rate.norm постоянно около 0. По времени счётный перебор конечно же быстрее, хотя и ненамного.
А вот для Collection.containsAll() скаляризация срабатывает только на небольших объёмах:
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Fork(jvmArgsAppend = {"-XX:+UseParallelGC", "-Xms1g", "-Xmx1g"})
public class AllMatchVsContainsAllBenchmark {
@Benchmark
public boolean collectionContainsAll(Data data) {
return data.original.containsAll(data.half);
}
@State(Scope.Thread)
public static class Data {
@Param({"10", "100", "1000"})
int count;
@Param({"ArrayList", "HashSet"})
String collectionType;
Collection<Integer> half;
Collection<Integer> original;
@Setup
public void setup() {
if ("ArrayList".equals(collectionType)) {
original = IntStream.range(0, count).boxed().collect(toCollection(ArrayList::new));
half = new HashSet<>(halfOfCollection(original));
} else {
original = IntStream.range(0, count).boxed().collect(toCollection(HashSet::new));
half = new HashSet<>(halfOfCollection(original));
}
}
private List<Integer> halfOfCollection(Collection<Integer> original) {
int newLength = original.size() / 2;
Integer[] integers = copyOf(original.toArray(new Integer[0]), newLength);
return asList(integers);
}
}
}
Вы-то "зомбоящик", насколько я могу судить, не смотрите. А коль так, то откуда вы знаете, что он рассказывает, да ещё и круглосуточно?
Что такое "дупа"?
Именно это вы и сделали, написав, что пользователи, не восторгающиеся шутками про "глюпи рюзге вспарывает обшивку своего окрабля, азаза", являются ольгинскими (иначе же и быть не может)
Да-да, #скоро :)
Судя по использованию слов вроде "дупа" вы живёте не в России. Откуда вы тогда знаете какой угар там начался? ТСН рассказала? ;)
Ещё раз перечитайте мой предыдущий ответ про предсказуемость.
Вы-то, я вижу, ни разу не предсказуемы.
Опять же, если отмотать твиттеры этих самых журналистов до эпизода с плавающей ступенью и сравнить отзывы тогда и сейчас, то видна вполне ясная разница в тональности высказываний и оценок.
Думаю, уместно задать этот вопрос "Роскосмосу". На мой взгляд, мешало наплевательское отношение к своему образу. Мой ответ был не об этом, а об освещении работы космонавтов "непредвзятыми" журналистами. Комментарии вроде
и
являются пертосянством чистой воды.
По поводу дальнейшего использования, я тут посмотрел внутрь
org.springframework.data.jpa.repository.support.SimpleJpaRepository
, там есть такой методВ текущем виде возможны два случая, когда возвращается пустой список: 1) на вход пришла пустая коллекция ключей и 2) запрос вернул пустую выборку.
Так вот в первом случае возвращается неизменяемый список, а во втором —
ArrayList
.Про чистый JDBC не скажу, а Hibernate возвращает пустой список (ЕМНИП, пустой
ArrayList
).Тоже вариант, только в этом случае
orElseGet
не даёт преимущества передorElse
, т. к.Collections.emptyList()
возвращает кэшированный список.В Spring Data запросы вида
возвращают пустой список (
ArrayList
) для пустой выборки.Проверил с помощью
-prof gc
, действительно, даже на восьмёрке итератор не создаётся:gc.alloc.rate.norm
постоянно около 0. По времени счётный перебор конечно же быстрее, хотя и ненамного.А вот для
Collection.containsAll()
скаляризация срабатывает только на небольших объёмах:даёт