avr attiny84: wrong delay
Assumption: You are driving the ATTiny84 with its internal RC clock.

In order to have the ATTiny84 running at 20 MHz, the microcontroller will need to be provided an external 20 MHz clock, typically achieved by a 20.0 MHz crystal or resonator and two load capacitors. From the datasheet:



Also, you will have to set the fuses appropriately for the microcontroller to use an external oscillator instead of the internal one.

You can calculate the fuse setting bits you need for external crystal, by selecting the specific AVR here. Additional useful information in this answer to a related question on this site.