One of the issues I had with the IDE is that for the benefit of learning, every on-board peripheral is turned on and configured by the hidden code attached during the build. Often by resetting some of the peripherals, you turn off all the features except for those you need. The classic example is the ADC, which is one of the most power hungry modules on board, on by default. To get around this, write your code with the int main() and not void setup/loop. The caveat then, is that nothing is loaded and you must do everything yourself, from setting up timer0 to count micros/millis to PWM to handling serial I/O. Up to you.