Writing a single byte is really bad. You are causing a page write with each bye, and each page has a limited lifetime (100,000 - 1,000,000 cycles) so use block instead. "When writing any amount of data, including a single byte using this function, the EEPROM will refresh the entire page (128 bytes) of data. EEPROMs have a limited write endurance (often 1 million cycles per page). Therefore, if you write one byte at a time, instead of writing a full block at once, you are wasting the chip's lifetime (doing so is also MUCH slower). ONLY use this if you really only need to write ONE byte, and avoid it when you can. Using a block write (below), you can write 128 bytes and only use a single page write (or at most two, if the write is not aligned to a page boundary)." This
When writing any amount of data, including a single byte using this function, the EEPROM will refresh the entire page (128 bytes) of data. EEPROMs have a limited write endurance (often 1 million cycles per page). Therefore, if you write one byte at a time, instead of writing a full block at once, you are wasting the chip's lifetime (doing so is also MUCH slower). ONLY use this if you really only need to write ONE byte, and avoid it when you can. Using a block write (below), you can write 128 bytes and only use a single page write (or at most two, if the write is not aligned to a page boundary).
This library should do the trick for you: https://github.com/exscape/electronics/tree/master/Arduino/Libraries/EEPROM/EEPROM_24XX1025