I have a PCB I made with an ATmega328p onboard (TQFN I think is the footprint? - can never remember).
Added a 16mhz crystal with a pair of 22pf caps pulling the lines to ground... usual layout.
Programming it using an USBASP over SPI to program it. That all works fine.
But, using Pro Mini as I usually do in the Arduino IDE, with 328p 5v 16Mhz selected, the blink test routine is running VERY slowly.
Instead of blinking the led once a second, it's about once every 14 seconds.
Changed the crystal to a new 16Mhz, still the same, so not sure what I check next? It uploads code fine, just runs biblically slow.
If you are going to be programming via ISP, and don't need the bootloader, MCUdude's Minicore has a no-bootloader option. May seem contradictory, but you still need to flash the bootloader with the no-bootloader setting in order to set the fuses correctly.