Size: a a a

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

2020 January 26

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Azamat Kalimoulline
Действительно неожиданно. Я думал 100 будет.
чего это?
декларируется ленивость, и если мы берём только 2 элемента, то ожидаем и вычисления только по двум
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Sergey Trofimov
чего это?
декларируется ленивость, и если мы берём только 2 элемента, то ожидаем и вычисления только по двум
Возможно, но я ожидал 100.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Azamat Kalimoulline
Возможно, но я ожидал 100.
в обоих случаях?
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Sergey Trofimov
в обоих случаях?
Нет, во втором только.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Azamat Kalimoulline
Нет, во втором только.
а если бы там стоял просто (range)? 😊
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Не знаю. :)
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Вообще, по логике, да, только 2 раза тоже во втором случае.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Но вот интуиция мне подсказала 100.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
а если бы там стоял просто (range)? 😊
ну и кстати, просто (range) медленный и не чанкается 😊
источник

AS

Arthur Sharipov in Clojure — русскоговорящее сообщество
Всем привет)!

Кто-нибудь знает, позволяет ли какой-нибудь сборщик проектов для clojure ставить библиотеки глобально, что бы можно было просто запустить репл и эти билиотеки уже можно было импортить а не качать для каждого проекта?
источник

AS

Arthur Sharipov in Clojure — русскоговорящее сообщество
В питоне такой воркфлоу очень удобен, когда нужно просто быстро проверить идею)
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Arthur Sharipov
Всем привет)!

Кто-нибудь знает, позволяет ли какой-нибудь сборщик проектов для clojure ставить библиотеки глобально, что бы можно было просто запустить репл и эти билиотеки уже можно было импортить а не качать для каждого проекта?
для лейна это файл ~/.lein/profiles.clj
как ты «просто запускаешь репл»?
источник

AS

Arthur Sharipov in Clojure — русскоговорящее сообщество
lein repl
источник

AS

Arthur Sharipov in Clojure — русскоговорящее сообщество
понял) спасибо, сейчас попробую
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну и кстати, просто (range) медленный и не чанкается 😊
сорри, это не (range) медленный, просто он проигрывает в сценариях, где от чанков есть прирост производительности
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
А рэньдж ли определяет чанканье? Я бы поставил на мап. И ожидал бы те же 32 на векторе [0..100]
источник

AB

Airat Burganov in Clojure — русскоговорящее сообщество
Andrey Ivanov
А рэньдж ли определяет чанканье? Я бы поставил на мап. И ожидал бы те же 32 на векторе [0..100]
да, так и есть. легко же проверяется ) А факт примечательнейший
источник

AB

Airat Burganov in Clojure — русскоговорящее сообщество
отсюда мораль - делай take перед map, сэкономишь производительность
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Airat Burganov
отсюда мораль - делай take перед map, сэкономишь производительность
ну нет, неправильная мораль
(do
   "Reduce over chunked seq"
   (criterium/quick-bench
     (reduce + (map inc (range 10)))))
Evaluation count : 648552 in 6 samples of 108092 calls.
            Execution time mean : 941,134765 ns
   Execution time std-deviation : 31,598083 ns
  Execution time lower quantile : 917,554851 ns ( 2,5%)
  Execution time upper quantile : 994,298158 ns (97,5%)
                  Overhead used : 1,968342 ns
=> nil
(do
   "Reduce over list"
   (criterium/quick-bench
     (reduce + (map inc '(0 1 2 3 4 5 6 7 8 9)))))
Evaluation count : 316116 in 6 samples of 52686 calls.
            Execution time mean : 1,894743 µs
   Execution time std-deviation : 12,072866 ns
  Execution time lower quantile : 1,883314 µs ( 2,5%)
  Execution time upper quantile : 1,907925 µs (97,5%)
                  Overhead used : 1,968342 ns
=> nil
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Andrey Ivanov
А рэньдж ли определяет чанканье? Я бы поставил на мап. И ожидал бы те же 32 на векторе [0..100]
(chunked-seq? (range 100))
=> true
(chunked-seq? (map inc (range 100)))
=> false
источник