I have ESP8266 (https://en.wikipedia.org/wiki/ESP8266) NodeMCU boards and I am using Arduino IDE to program it.
Looking at EEPROM library the write and put functions (https://www.arduino.cc/en/Tutorial/EEPROMPut) first check if data is different and then only write it which is great because EEPROM only has so many writes.
The wrinkle is that ESP8266 has no real EEPROM but uses a piece of FLASH memory instead. So, EEPROM's get and put functions only write to RAM and you have to call EEPROM.commit() to write RAM contents to FLASH (to persist).
My two questions - 1. In ESP8266's case, is FLASH similar in terms of limited writes to the EEPROM? 2. If the answer for 1. is yes, then does anyone know if EEPROM.commit() will also check if the RAM contents are different than FLASH and only then would write it? Or do I need to do this check on my own to avoid unnecessarily writing the same data and using up my limited writes?