Using internal 8MHz clock, the blink sketch goes from 1 second to almost 10...

almost 10 seconds with delay 1000 statement.

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

Simple logic should suggest the delay wouldn't be more than doubled with the clock speed is halfed without any other code or bootloader change to account for internal 8MHz clock. Yet when I tried this, it seems to take almost 10 seconds to change state of LED.

Using TQFP version of ATMega328P on DIP adapter in breadboard BTW, I was testing the connection to determine that I got correct TQFP to DIP pinout so I can start programming bunch of TQFP chips.

How did you set the fuses on your ATmega328P?

pert:
How did you set the fuses on your ATmega328P?

Sounds like he's got CLKDIV8 enabled.

edit: double post

I don't see a CLKDIV8 option in Arduino IDE.

Using minicore the setting is:
Board: ATMega328
Bootloader: No
Clock: 8MHz Internal
Compiler LTO: Disabled (default)
Variant: 328P / 328PA
BOD: Disabled

I checked minicore on Github there is no mention of CLKDIV8 or delay being slower except for when I am using different clock frequency that can't be evenly divided from 64. 8 and 16 are evenly divisible from 64 and shouldn't have odd delay or mills variation.

Next time I upload code, I'll check for fuse setting, maybe there's something hidden that I can't see or access.

Did you do a Tools > Burn Bootloader on your ATmega328P with the current Tools > Board and Tools > Clock settings?

wilykat:
I don't see a CLKDIV8 option in Arduino IDE.

There isn't a specific option for CLKDIV8 but hardware packages such as MiniCore define fuse settings for each of their boards. When you do a Tools > Burn Bootloader in the Arduino IDE, in addition to burning the bootloader, the IDE also sets the fuses on your microcontroller according to the definition of the currently selected board. You can see the MiniCore board definitions here:

And the meaning of the fuses here:

CKDIV8 is bit 7 of the bootloader.low_fuses property. Remember, that with fuses, programmed = 0.