T
"* ") и берём нужное число строкпо желанию печатаем
а когда я вижу все эти str/join, меня передёргивает 😊
собрать данные
отформатировать
вывести
Size: a a a
T
"* ") и берём нужное число строкT
ST
(->> (iterate (partial str "* ") "* ")
(take 5)
(run! println))
*
* *
* * *
* * * *
* * * * *
(->> (iterate (partial str "* ") "* ")
(transduce (comp (take 5)
(map println))
(constantly nil)))
ST
(->> (iterate (partial str "* ") "* ")
(transduce (comp (take 5)
(map println))
(constantly nil)))
(->> (iterate (partial str "* ") "* ")
(eduction (take 5))
(run! println))
DL
(->> (iterate (partial str "* ") "* ")
(transduce (comp (take 5)
(map println))
(constantly nil)))
ST
(->> [\*]
(iterate #(conj % \*))
(take 5)
(map #(string/join \space %))
(string/join \newline)
identity) #_"4,594061 µs"
(->> (range)
(map #(repeat % "*"))
(map #(clojure.string/join " " %))
(take 6)
(clojure.string/join "\n")
identity) #_"5,350444 µs"
(->> (range 1 6)
(map #(repeat % \*))
(map #(string/join \space %))
(string/join \newline)
identity) #_"2,648124 µs"
(->> (repeat 5 \*)
(reductions conj [])
(map #(string/join \space %))
(string/join \newline)
(identity)) #_"3,803863 µs"
(->> (iterate (partial str "* ") "* ")
(transduce (comp (take 5) (map identity))
(constantly nil))) #_"917,929556 ns"
(->> (iterate (partial str "* ") "* ")
(eduction (take 5))
(run! identity)) #_"1,031619 µs"
(->> (iterate (partial str "* ") "* ")
(take 5)
(run! identity)) #_"1,788757 µs"
DL
(->> [\*]
(iterate #(conj % \*))
(take 5)
(map #(string/join \space %))
(string/join \newline)
identity) #_"4,594061 µs"
(->> (range)
(map #(repeat % "*"))
(map #(clojure.string/join " " %))
(take 6)
(clojure.string/join "\n")
identity) #_"5,350444 µs"
(->> (range 1 6)
(map #(repeat % \*))
(map #(string/join \space %))
(string/join \newline)
identity) #_"2,648124 µs"
(->> (repeat 5 \*)
(reductions conj [])
(map #(string/join \space %))
(string/join \newline)
(identity)) #_"3,803863 µs"
(->> (iterate (partial str "* ") "* ")
(transduce (comp (take 5) (map identity))
(constantly nil))) #_"917,929556 ns"
(->> (iterate (partial str "* ") "* ")
(eduction (take 5))
(run! identity)) #_"1,031619 µs"
(->> (iterate (partial str "* ") "* ")
(take 5)
(run! identity)) #_"1,788757 µs"
ST
DL
ST
ST
DL
ST
DL
ST
ST
(do (time (->> [\*]
(iterate #(conj % \*))
(take 10000)
(map #(string/join \space %))
(string/join \newline)
identity))
nil) #_"4202.977 msecs"
(do (time (->> (range)
(map #(repeat % "*"))
(map #(clojure.string/join " " %))
(take 10001)
(clojure.string/join "\n")
identity))
nil) #_"3424.3458 msecs"
(do (time (->> (range 1 10001)
(map #(repeat % \*))
(map #(string/join \space %))
(string/join \newline)
identity))
nil) #_"3851.0738 msecs"
(do (time (->> (repeat 10000 \*)
(reductions conj [])
(map #(string/join \space %))
(string/join \newline)
(identity)))
nil) #_"3831.1308 msecs"
(do (time (->> (iterate (partial str "* ") "* ")
(transduce (comp (take 10000) (map identity))
(constantly nil))))
nil) #_"34.8619 msecs"
(do (time (->> (iterate (partial str "* ") "* ")
(eduction (take 10000))
(run! identity)))
nil) #_"39.1781 msecs"
(do (time (->> (iterate (partial str "* ") "* ")
(take 10000)
(run! identity)))
nil) #_"41.9111 msecs"
ST
ST
ST