I had made a mistake, wrote my code as a script as such: using BenchmarkTools numbers = rand(100) num = 0.001 println("Size of test array $(length(numbers))") println("Roughly $(num*100)% of entries satisfy condition (entry < $num)") println() println("result with <($num)") @btime any(<(num), numbers) println("result with x -> x < $num") @btime any(x -> x < num, numbers) println("numbers .< $num") @btime any(numbers .< num) However this has to allocate space for the array and number for each call to any. In the any(x -> x < num) case it even has to allocate num for each iteration done by any. This lead to confusion on my part as any(x -> x < num) slowed down more than the other approaches when more iterations were required to find a match which I initially did not expect.