AS
а так это как минимум надо понимать как что устроено в кложе и как работает)
Size: a a a
AS
OR
some
останавливается сразуOR
OR
GA
OR
OR
filter
вообще до конца должен всё реализовать.OR
A
ST
IG
ST
Evaluation count : 4449696 in 6 samples of 741616 calls.
Execution time mean : 134,589137 ns
Execution time std-deviation : 13,183541 ns
Execution time lower quantile : 125,903960 ns ( 2,5%)
Execution time upper quantile : 156,810049 ns (97,5%)
Overhead used : 11,877858 ns
Found 1 outliers in 6 samples (16,6667 %)
low-severe 1 (16,6667 %)
Variance from outliers : 30,3177 % Variance is moderately inflated by outliers
(first (filter int? [1 nil nil]))
=> 1
Evaluation count : 17882796 in 6 samples of 2980466 calls.
Execution time mean : 21,880812 ns
Execution time std-deviation : 2,182807 ns
Execution time lower quantile : 20,298050 ns ( 2,5%)
Execution time upper quantile : 25,304205 ns (97,5%)
Overhead used : 11,877858 ns
Found 1 outliers in 6 samples (16,6667 %)
low-severe 1 (16,6667 %)
Variance from outliers : 30,4258 % Variance is moderately inflated by outliers
(find-first int? [1 nil nil])
=> 1
ST
Evaluation count : 4502946 in 6 samples of 750491 calls.
Execution time mean : 150,081691 ns
Execution time std-deviation : 25,992720 ns
Execution time lower quantile : 121,161713 ns ( 2,5%)
Execution time upper quantile : 183,691543 ns (97,5%)
Overhead used : 11,877858 ns
(first (filter int? [nil nil 1]))
=> 1
Evaluation count : 7285056 in 6 samples of 1214176 calls.
Execution time mean : 69,878110 ns
Execution time std-deviation : 5,317788 ns
Execution time lower quantile : 65,859802 ns ( 2,5%)
Execution time upper quantile : 78,592552 ns (97,5%)
Overhead used : 11,877858 ns
Found 1 outliers in 6 samples (16,6667 %)
low-severe 1 (16,6667 %)
Variance from outliers : 15,4176 % Variance is moderately inflated by outliers
(find-first int? [nil nil 1])
=> 1
IG
IG
(def data (vec (concat (repeat 500 nil) [1])))
IG
DL
ST
(first (filterv int? data))
в _данном_ случае будет ещё быстрее 😊ST
(defn tested-by
"Returns `x` if `(pred x)` is logical true, else `nil`.
Returns #(tested-by % pred) in case of 1-arity."
([pred]
#(tested-by % pred))
([x pred]
(when (pred x) x)))
(some (tested-by int?) data)
DL