Comments 17
Не холивара ради, просто увидел первую картинку в посте и вспомнилась чудесная фраза:
Объективно, объекты функциональнее функций
Объективно, объекты функциональнее функций
Ясно ж почему медленнее сортировка. В Котлине по умолчанию все операции над коллекциями активные (выполняются моментально и возвращают копию), а не ленивые: хочешь ленивых вычислений, отметь их через asSequence
. Поэтому все наши операции по разделению списка идут через выделения памяти и копирования, а вот Java-версия наверняка написана in-place, тем более там не QuickSort.
Ребята! Ну TimSort же!
И что это делает в хабе java?
мы выбираем какой-нибудь элемент (pivot (рус. стержень))
en.wiktionary.org/wiki/pivot
Pivot — ось, вокруг которой что-то крутится. Также — нечто очень важное (of pivotal importance).
Допустим, что (внезапно в 100% случаях) университет хранит данные о своих студентах в некой базе данных. И гораздо проще взять из базы напрямую уже отсортированный и отфильтрованный список через SQL, а не вытаскивать целиком всю базу каждый раз и фильтровать ее Котлином.
Это проще, быстрее и правильней, но тут извините не пахнет смузи и фалафелем.
Это проще, быстрее и правильней, но тут извините не пахнет смузи и фалафелем.
Можно не вытаскивать целиком, но фильтровать котлином github.com/x2bool/kuery =)
После заставки читать статью желание пропало ибо функционально ориентированное программирование появилось раньше ООП.
UFO just landed and posted this here
Измерять производительность такой реализации quick sort на случайных данных не совсем честно — она себя хорошо ведёт как раз в таких случаях. Но при этом может работать очень плохо и вообще выбрасывать StackOverflowException в других случаях. У Timsort такой особенности нет.
UFO just landed and posted this here
UFO just landed and posted this here
Sign up to leave a comment.
Мои любимые примеры функционального программирования в языке Kotlin