I play a mix of in-person and online (over discord, using the dice-rolling tool avrae).

The shortest 'combats' tend to be about a full round (5 minutes). My players like to get sneaky and surprise their enemies, and that makes an 'easy' encounter more like a tripwire.

The most common significant combats ('deadly' CR, 1 boss and 2-3 minibosses with interesting abilities) take 3-5 rounds (an hour).

I've run a couple massive large-scale battles. I think the longest single combat was 43 rounds, and took (5-6?) hours of real time broken up into two online sessions (on consecutive days), simply because of the complexity, and the large number of players (11) and enemies (umm... Lots.).

In order to streamline things, my preference is to have no more than four distinct stat blocks for enemies. Each type of enemy moves on the same initiative, and acts simultaneously (using online tools to roll and add many attack rolls at once, for example).

The slowest part of combat is waiting for my players to decide their actions and roll their dice.