my Lezyne super gps will easily last at least 18 hours. this is using their proprietary heart rate monitor, speed/cadence sensor, and having my phone synced to the unit for directions.
it works pretty good. ive been able to charge it also using a very small power bank from 2% back up to 80 percent while in use in about an hour.