Size: a a a

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

2019 October 15

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
да он никуда не превращается
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
из того болота уже не вылезти, даже джаваскрипту проще в этом плане.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
а вот кстати: https://habr.com/ru/post/470774/
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Maxim Penzin
потом у Питона эти пареметры неминуемо вызывают большой рантайм оверхед
У кложи, кстати, деструктуризация тоже не вызывает ускорения.
источник

A

Artem in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
У кложи, кстати, деструктуризация тоже не вызывает ускорения.
Без разницы clj или cljs?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Artem
Без разницы clj или cljs?
ну конечно
это же дополнительные операции в рантайме
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну конечно
это же дополнительные операции в рантайме
и прям большая разница между условными?
(defn foo [{:keys [a]}] a)

(defn bar [x] (:a x))
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mike Bohdan
и прям большая разница между условными?
(defn foo [{:keys [a]}] a)

(defn bar [x] (:a x))
между таким — небольшая
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
а в каком случае тогда есть разница?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mike Bohdan
и прям большая разница между условными?
(defn foo [{:keys [a]}] a)

(defn bar [x] (:a x))
хотя тоже в пять раз разница
(criterium.core/quick-bench
   (foo {}))
Evaluation count : 17086992 in 6 samples of 2847832 calls.
            Execution time mean : 33,734320 ns
   Execution time std-deviation : 0,541457 ns
  Execution time lower quantile : 33,414796 ns ( 2,5%)
  Execution time upper quantile : 34,634114 ns (97,5%)
                  Overhead used : 1,808595 ns

Found 1 outliers in 6 samples (16,6667 %)
 low-severe   1 (16,6667 %)
Variance from outliers : 13,8889 % Variance is moderately inflated by outliers
=> nil
(criterium.core/quick-bench
   (bar {}))
Evaluation count : 71926746 in 6 samples of 11987791 calls.
            Execution time mean : 6,568671 ns
   Execution time std-deviation : 0,021448 ns
  Execution time lower quantile : 6,544170 ns ( 2,5%)
  Execution time upper quantile : 6,599845 ns (97,5%)
                  Overhead used : 1,808595 ns
=> nil
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mike Bohdan
а в каком случае тогда есть разница?
между прямой передачей параметра и передачей в составе мапы/последовательности
источник

MB

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

A

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

OR

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

ST

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

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
ну, как минимум, не медленней обычных гетов
источник

ИФ

Иван Федоров in Clojure — русскоговорящее сообщество
Господа, а известны вам проекты чтобы из ns генерить Java класс cо статическими методами которые просто делегируют вызов в ns? кроме Java Poet
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
а если bar написать по другому, то будет ещё быстрее
(defn bar [x] (x :a))
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mike Bohdan
ну, как минимум, не медленней обычных гетов
ну, я так понимаю, что там строятся последовательности
и сразу опаньки
сравни, например, (< a b) и (< a b с)
разница совсем не в два раза
источник

A

Alexander in Clojure — русскоговорящее сообщество
Кстати, в эссеншиал референс это все расписано
источник