£8. Is a lot for mackerel in a pub, but it’s not just the food you are paying for when you dine out.
Staff wages (chefs ain’t on minimum wage)
Gas, electric, water, heating, building rates, rent .
Tables and chairs, tablecloths, crockery, cutlery, glasses and breakages.
Cleaning, toilet paper, soap, dish soap for the kitchen, laundry of tablecloths and napkins.
And that’s before you factor in the cost of the ingredients.
In the city centre I can easily find starters at £10. Yours does seem pricey for a local pub. £22. for a main is similar pricing to The Ivy.
I’m not sure what you’re really asking, dining out will never be comparable to home cooking. If you don’t like paying for it, don’t eat out.