The thing is that the official relu is implemented as a single kernel that does the relu.
What you do here is 3 different operations: comparison with 0, advance indexing and element wise multiplication.
If you run this on gpu, this will launch 3 kernels instead of 1 and so is expected to be slower.
This is exactly the reason why we have specialized kernels for all the common operations !