Found a behaviour of `randn`

that I didn’t really understand. Since there exists a version where you can select the type I assume that that would be more efficient than generating and then converting, but it seems that this depends on the size of the generated data.

Here we see `f1`

using the conversion and `f2`

using the direct call. `f1`

is clearly slower when generating only 10 numbers, but a little faster when generating 2000 numbers. Anyone have a clue as to why this is?

```
julia> using BenchmarkTools
julia> f1(dims) = Float32.(randn(dims))
f1 (generic function with 2 methods)
julia> f2(dims) = randn(Float32, dims)
f2 (generic function with 2 methods)
julia> @benchmark f1(10)
BenchmarkTools.Trial: 10000 samples with 919 evaluations.
Range (min … max): 107.929 ns … 1.170 μs ┊ GC (min … max): 0.00% … 84.78%
Time (median): 118.046 ns ┊ GC (median): 0.00%
Time (mean ± σ): 124.795 ns ± 55.602 ns ┊ GC (mean ± σ): 3.12% ± 6.36%
▃▆▇█▇▅▃▂ ▁ ▂
███████████▇▇▄▆▄▅▅▄▄▄▃▁▁▃▄▁▁▃▁▁▁▁▁▁▁▃▁▃▁▄▆▆▆▇▆▆▅▅▆▅▅▆▅▃▆▄▄▃▆ █
108 ns Histogram: log(frequency) by time 281 ns <
Memory estimate: 288 bytes, allocs estimate: 2.
julia> @benchmark f2(10)
BenchmarkTools.Trial: 10000 samples with 968 evaluations.
Range (min … max): 71.681 ns … 770.913 ns ┊ GC (min … max): 0.00% … 88.68%
Time (median): 78.347 ns ┊ GC (median): 0.00%
Time (mean ± σ): 83.177 ns ± 34.070 ns ┊ GC (mean ± σ): 1.95% ± 4.54%
▁▃▇█▆▅▄▃▁▁ ▂
▇██████████▇▇▆▆▆▅▆▅▆▇▆▆▆▅▄▄▄▃▁▁▃▄▁▇▇▇▇▇▇▇▇▆▆▆▆▆▆▆▄▆▆▃▃▆▆▅▆▇▇ █
71.7 ns Histogram: log(frequency) by time 161 ns <
Memory estimate: 128 bytes, allocs estimate: 1.
julia> @benchmark f1(2000)
BenchmarkTools.Trial: 10000 samples with 4 evaluations.
Range (min … max): 6.650 μs … 233.773 μs ┊ GC (min … max): 0.00% … 80.82%
Time (median): 7.554 μs ┊ GC (median): 0.00%
Time (mean ± σ): 8.138 μs ± 8.375 μs ┊ GC (mean ± σ): 4.01% ± 3.77%
▁▄▆▇██▆▄▃▁
▁▁▁▂▂▃▇██████████▇▆▆▅▅▄▄▃▃▃▃▃▃▃▃▃▃▃▂▂▂▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▃
6.65 μs Histogram: frequency by time 10.6 μs <
Memory estimate: 23.69 KiB, allocs estimate: 2.
julia> @benchmark f2(2000)
BenchmarkTools.Trial: 10000 samples with 4 evaluations.
Range (min … max): 7.191 μs … 276.534 μs ┊ GC (min … max): 0.00% … 86.09%
Time (median): 7.627 μs ┊ GC (median): 0.00%
Time (mean ± σ): 8.019 μs ± 6.315 μs ┊ GC (mean ± σ): 1.70% ± 2.12%
▂▅▆███▇▇▆▅▄▄▄▃▄▃▃▃▃▂▂▂▁▁ ▁ ▃
▆████████████████████████████████▇▆▇▇▆▅▇▆▇▇█▇▇▇▇▆▇▇▇▇▆▇▇▆█▇ █
7.19 μs Histogram: log(frequency) by time 10.8 μs <
Memory estimate: 7.94 KiB, allocs estimate: 1.
```