Size: a a a

Clojure — русскоговорящее сообщество

2021 January 25

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Код кинь)
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Это картинка
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Kirill Chernyshov
Код кинь)
Иди прочитай статью
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Код я не буду кидать мне не охота сейчас его искать полчаса
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Я ее читал когда она релизнулась
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Ну там же есть big O оценки
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
А какое это отношение к памяти имеет?
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Но в статье же прям показывается, что дерево переиспользует части изначального дерева
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Kirill Chernyshov
А какое это отношение к памяти имеет?
Ну каждая операция по изменению может породить кучу новых нод
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Mike Bohdan
Но в статье же прям показывается, что дерево переиспользует части изначального дерева
Да но в мутабельных структурах у тебя вот этого навеса сверху нет совсем
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
У тебя в неудачном кейсе после изменения одного элемента остаётся куча мусора который надо освобождать
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mike Bohdan
Больше гига на сервис с парой эндпоинтов
У меня меньше 500 мб, когда настроено
активный сервис с условно одним эндпоинтом
JAVA_OPTS="-Xms150m -Xmx1500m"
GC раз в 4 минуты

Uptime  277d 7h 57m
Threads  526
Children  0
Cpu  0.0%
Cpu total  0.0%
Memory  0.4% [472.7 MB]
Memory total  0.4% [472.7 MB]
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Так остаётся на самом деле? Или это всего лишь иллюстрация?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Kirill Chernyshov
Так остаётся на самом деле? Или это всего лишь иллюстрация?
Я не понимаю. Статья «как работает вектор в кложе» - там картинки как на самом деле или просто так?
источник

SG

Sergey Galichanin in Clojure — русскоговорящее сообщество
в java аллокации в несколько раз быстрее чем в C (~5 команд проц, протим ~20).
по сборке, даже в старых сборщиках от поколений зависело (молодое поколение, например, локальный объект в функции, вычищается сразу после выхода), в новых хз, но не думаю, что сильно хуже изменилось, скорее более актуально текущему моменту сделали...
Давно было - мб ошибаюсь где
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Sergey Galichanin
в java аллокации в несколько раз быстрее чем в C (~5 команд проц, протим ~20).
по сборке, даже в старых сборщиках от поколений зависело (молодое поколение, например, локальный объект в функции, вычищается сразу после выхода), в новых хз, но не думаю, что сильно хуже изменилось, скорее более актуально текущему моменту сделали...
Давно было - мб ошибаюсь где
Да ток в кложе аргумент функции это не локальный объект
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Из-за замыканий и особенностей джавы каждая функция порождает класс
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Anton Chikin
Я не понимаю. Статья «как работает вектор в кложе» - там картинки как на самом деле или просто так?
Статья 2013 года которая не описывает имплементацию,
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Ты утверждаешь что использование персистентных структур ведет к перерасходу памяти ссылаясь на статью в которой про это нет ни слова.
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
А есть иллюстрации общего подхода построения таких структур
источник