Size: a a a

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

2021 January 25

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Чувак по trie деревьям защитил диплом. Там прекрасно все описано и есть все цифры, бенчмарки, графики и ссылки на код
источник
2021 January 26

AI

Aynur Iceman in Clojure — русскоговорящее сообщество
Anton Chikin
Чувак по trie деревьям защитил диплом. Там прекрасно все описано и есть все цифры, бенчмарки, графики и ссылки на код
где можно почитать )
источник

RS

Roma S in Clojure — русскоговорящее сообщество
Anton Chikin
До 32 элементов - вся коллекция копируется
а покажи в код, а?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
источник

DP

Dmitry Ponyatov in Clojure — русскоговорящее сообщество
Переслано от Dmitry Ponyatov
кто помнит/видел термин DataWeb ?

не могу вспомнить где прочитал — там про веб-сервис, построенный то ли на на объектном графе то ли на DataFlow, заточенный под гибкую работу с данными (юзер рисует диаграммы потоков, и прописывает функции преобразования).

какой-то коммерческий low/no-code проект начала 200х, то ли iBMовский, то ли еще чей-то — я-ля labview но не такой низкоуровневый, и с активным применением скриптов (вместо циклов нарисованных мышью)
источник

DP

Dmitry Ponyatov in Clojure — русскоговорящее сообщество
может как раз вычитал когда по кложуровым сайтам шарился?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
источник

AC

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

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
он вызывается не на каждый assoc
источник

KC

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

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Kirill Chernyshov
он вызывается не на каждый assoc
Ну да если ключ не integer - assocN не вызывается а кидается эксепшен - это конечно сильно улучшает перфоманс
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Kirill Chernyshov
он вызывается не на каждый assoc
Слушай, чего мы мучаемся. Давай так сделаем -  я признаю что я не прав и все понял неправильно. А ты нам сейчас расскажешь как на самом деле дела обстоят со ссылками на код и ответишь на все вопросы, идет?
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Anton Chikin
Ну да если ключ не integer - assocN не вызывается а кидается эксепшен - это конечно сильно улучшает перфоманс
assocN вызывается на каждый clojure.core/assoc и он в свою очеред вызывает doAssoc в том случае если индекс больше чем branching factor. Ссылка которую ты кинул действительно создает массив в 32 элемента, но только в случае если нужно создать новую ноду
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Anton Chikin
Слушай, чего мы мучаемся. Давай так сделаем -  я признаю что я не прав и все понял неправильно. А ты нам сейчас расскажешь как на самом деле дела обстоят со ссылками на код и ответишь на все вопросы, идет?
я и не мучаюсь ) у меня нет цели что бы кто-то что-то признал
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Kirill Chernyshov
assocN вызывается на каждый clojure.core/assoc и он в свою очеред вызывает doAssoc в том случае если индекс больше чем branching factor. Ссылка которую ты кинул действительно создает массив в 32 элемента, но только в случае если нужно создать новую ноду
Что-то я ничего не понял. Так как часто создается новая нода?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
а вот это копирование в соседней ветке if как много элементов копирует? https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/PersistentVector.java#L178
источник

KC

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

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Anton Chikin
Что-то я ничего не понял. Так как часто создается новая нода?
в статье же про это говориться, во второй части
https://hypirion.com/musings/understanding-persistent-vector-pt-2
ищи Digit Partitioning
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Anton Chikin
Что-то я ничего не понял. Так как часто создается новая нода?
ну раз одна нода содержит 32 элемента, то на каждые новые 32 элемента
источник