Skip to content

Instantly share code, notes, and snippets.

@cnuernber
Created March 30, 2023 19:52
Show Gist options
  • Select an option

  • Save cnuernber/aaa7699cdb88a61d0d07cf237061c229 to your computer and use it in GitHub Desktop.

Select an option

Save cnuernber/aaa7699cdb88a61d0d07cf237061c229 to your computer and use it in GitHub Desktop.
user> (require '[streams.api :as streams])
nil
user> (require '[tech.v3.datatype :as dt])
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
nil
user> (require '[criterium.core :as crit])
nil
user> (def sampler (streams/opts->sampler nil :uniform))
#'user/sampler
user> (def s (streams/stream (sampler)))
#'user/s
user> (def dts (dt/make-reader :float64 10000 (sampler)))
#'user/dts
user> (require '[ham-fisted.api :as hamf])
nil
user> (crit/quick-bench (hamf/double-array
(streams/take
10000
(streams/+ s s s s))))
Evaluation count : 852 in 6 samples of 142 calls.
Execution time mean : 708.350569 µs
Execution time std-deviation : 8.991205 µs
Execution time lower quantile : 701.235155 µs ( 2.5%)
Execution time upper quantile : 723.334251 µs (97.5%)
Overhead used : 1.988722 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
user> (require '[tech.v3.datatype.functional :as dfn])
nil
user> (crit/quick-bench (hamf/double-array
(dfn/+ dts dts dts dts)))
Evaluation count : 1260 in 6 samples of 210 calls.
Execution time mean : 475.837449 µs
Execution time std-deviation : 1.893545 µs
Execution time lower quantile : 472.835105 µs ( 2.5%)
Execution time upper quantile : 477.666503 µs (97.5%)
Overhead used : 1.988722 ns
nil
user> (crit/quick-bench (dt/->array
(dfn/+ dts dts dts dts)))
Evaluation count : 1242 in 6 samples of 207 calls.
Execution time mean : 479.641319 µs
Execution time std-deviation : 1.305797 µs
Execution time lower quantile : 477.693304 µs ( 2.5%)
Execution time upper quantile : 480.957434 µs (97.5%)
Overhead used : 1.988722 ns
nil
user> (crit/quick-bench (hamf/double-array
(streams/take
10000
(streams/+ s s s s))))
Evaluation count : 846 in 6 samples of 141 calls.
Execution time mean : 702.898280 µs
Execution time std-deviation : 1.471426 µs
Execution time lower quantile : 700.536177 µs ( 2.5%)
Execution time upper quantile : 704.324243 µs (97.5%)
Overhead used : 1.988722 ns
nil
user> (def sampler-rdr (dt/make-reader :float64 10000
(+ (+ (double (sampler))
(double (sampler)))
(+ (double (sampler))
(double (sampler))))))
#'user/sampler-rdr
user> (crit/quick-bench (hamf/double-array sampler-rdr))
Evaluation count : 1548 in 6 samples of 258 calls.
Execution time mean : 390.858722 µs
Execution time std-deviation : 2.597334 µs
Execution time lower quantile : 388.694930 µs ( 2.5%)
Execution time upper quantile : 394.322627 µs (97.5%)
Overhead used : 1.988722 ns
nil
user>
user> (def sampler-s (streams/stream 10000
(+ (+ (double (sampler))
(double (sampler)))
(+ (double (sampler))
(double (sampler))))))
#'user/sampler-s
user> (crit/quick-bench (hamf/double-array sampler-s))
Evaluation count : 1452 in 6 samples of 242 calls.
Execution time mean : 416.921727 µs
Execution time std-deviation : 977.724451 ns
Execution time lower quantile : 415.029000 µs ( 2.5%)
Execution time upper quantile : 417.641940 µs (97.5%)
Overhead used : 1.988722 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
user>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment