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.