The Roomba j7+ runs 75 minutes and self-empties, so runtime barely matters

About 75 minutes per charge in real-world use. That covers my entire main floor — kitchen, living room, hallway, two bedrooms — in a single session with battery to spare.

When it gets low, it heads back to the self-emptying base, dumps its bin, recharges, and resumes. I don’t think about it. The bin fills up for weeks before I need to swap the bag. The whole “run time” question becomes irrelevant when the vacuum handles its own refueling.

75 minutes is enough for one floor. If you’ve got stairs and want the upstairs done, it’ll need a mid-session charge. But the resume-and-return feature makes that painless.