if you replace the
`````` delay(100in the commit function with:while(spi_transaction(0xF0, 0, 0, 0) == 0xFF){};```
to poll the RDY/BSY flag of the micro, you can increase your write speed by about 6x, shaving off 1.5 seconds on a bootloader sized write. The same thing works on the chip erase delay, shaving off about another 90ms