A lot of people use `imfilter` to achieve a 2-D convolution between an image and a filter, but the majority of people use `conv2` instead of `imfilter` because it is faster than `imfilter` by at least 20%.

Examples:

```
filtered_image_with_imfilter = imfilter(image,filter,'symmetric','same','corr');
filtered_image_with_conv2 = conv2(image,filter,'same');

```

Could someone explain to me in detail why `conv2` is faster than `imfilter`.