My question in short is: when Arduino wakes up, does it lose program memory? Does it simply resume loop or does it start from the top, recreate global objects and variables, and run the setup loop again?
The reason is, I'm working on a project where I allow users to input preferences and I save those to EEPROM so that they'll be kept when powered down. I'm writing myself an EEPROM helper library so that I can write strings with one function and retrieve data in the form of a boolean or an int for an example. I can either grab the data from EEPROM each time I need it, or I can store it in a global variable which I think will be a lot more efficient, unless the Arduino starting anew each time it wakes up from sleep...
Thoughts, suggestions?

