Size: a a a

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

2020 January 27

AI

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

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
если весь стек и все клиенты на clj, то конечно да.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
немножко бенчмарков вам на тему трансдьюсеров https://github.com/serioga/clojure-benhcmarks/blob/master/src/clojure_benchmarks/transducers.clj
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
из непонятного — "Vector, transducer" медленнее, чем "List, transducer"
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
если уж бенчить, то что-то, для чего трансдьюсеры имеет смысл использовать:

1. большая коллекция, скажем из миллиона элементов
2. развесистный набор фильтров / операций
3. редьюс до какого-то финального относительно компактного размера
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
ну типа ETL таски всякие
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
или датомик имплементация!
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Andrew Rudenko
если уж бенчить, то что-то, для чего трансдьюсеры имеет смысл использовать:

1. большая коллекция, скажем из миллиона элементов
2. развесистный набор фильтров / операций
3. редьюс до какого-то финального относительно компактного размера
а миллион операций над маленькими коллекциями уже не считается? При том, что трансдьюсерный вариант в три раза быстрее. Мне в вебных приложениях такое как-то более актуально.

и кстати, я именно редьюс и тестирую, на операции конкатенации результата в вектор
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
склонировал репозиторий со своей заготовкой CRUD'a дома под win7 и в консоли ошибка
clojure.lang.Compiler$CompilerException: Syntax error macroexpanding clojure.core/fn at (clojure/core/unify.clj:83:18).
Caused by: clojure.lang.ExceptionInfo: Call to clojure.core/fn did not conform to spec.
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
никто не сталкивался?
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
это после команды
lein ring server
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
покажи (clojure/core/unify.clj:83:18)
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Сергей Суржик
склонировал репозиторий со своей заготовкой CRUD'a дома под win7 и в консоли ошибка
clojure.lang.Compiler$CompilerException: Syntax error macroexpanding clojure.core/fn at (clojure/core/unify.clj:83:18).
Caused by: clojure.lang.ExceptionInfo: Call to clojure.core/fn did not conform to spec.
покажи (clojure/core/unify.clj:83:18)
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Sergey Trofimov
а миллион операций над маленькими коллекциями уже не считается? При том, что трансдьюсерный вариант в три раза быстрее. Мне в вебных приложениях такое как-то более актуально.

и кстати, я именно редьюс и тестирую, на операции конкатенации результата в вектор
Не актуально.  Любой микробенчмарк на кложе содержит простой ответ - напиши на яве, будет быстрее. С точки зрения производительности интересны именно макро бенчмарки и интерфейсы, которые в них задействованы.
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
спасибо! за то, что на путь верный наставил) дело решилось апгрейдом lein до версии 2.8.3
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
Sergey Trofimov
и как едн для работы из пхп?
А он разве нужен ?)
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
добавил ещё группу тестов “Last elem after two (map identity) operations”
https://github.com/serioga/clojure-benhcmarks/blob/8ffe2cd20bce03428ff1a2b2aa478a87bffb03cb/src/clojure_benchmarks/transducers.clj#L146
источник

AI

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

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Andrey Ivanov
осталось сравнить простой луп с наконживанием транзиентного вектора с последующим переводом результата в персистент. у меня такой вариант оказался быстрее многих альтернатив.
давай код, добавлю
но только такой, который делает то же самое
источник