← Swik
Research

We timed app switching on macOS: Cmd+Tab vs Dock vs Spotlight vs radial

Most comparisons of Mac app switchers are vibes. Someone says Cmd+Tab "feels slow," someone else says Raycast "feels fast," and everyone nods. We wanted a number.

So we did something straightforward: we recorded screen captures at 120 frames per second, performed scripted app switches across five different switchers, and counted frames from trigger-down to target-window-focused. The results are below, with methodology, the exact numbers, and the interaction-design reason the gaps look the way they do.

The short answer: for the most-recently-used app, Cmd+Tab is the fastest thing on macOS. For anything else — which is most of the time — radial menus win for apps you reach for by reflex, and typed launchers (Raycast, Spotlight) win for apps you open by name. Cmd+Tab is dramatically worse than either as soon as the target isn't adjacent in the most-recently-used list.

What we measured

Five switchers, three scenarios, 20 trials per condition, all after a three-day practice period to approximate muscle-memory performance (which is the whole point — no one cares how fast a switcher is the first time you use it).

The switchers:

The scenarios:

  1. Adjacent app — the app switched to most recently (position 2 in the Cmd+Tab list).
  2. Mid-list app — position 5 in the most-recently-used list, 5th icon in the Dock, 5th wedge in the radial menu.
  3. Deep app — position 9–10 in the most-recently-used list, a farther Dock icon, a nested sub-menu in the radial.

The clock: key-down of the first trigger to first frame of the target window having keyboard focus. Measured to the frame, not to the millisecond — at 120 fps that's ±8 ms of granularity, which is enough.

The results

All numbers in milliseconds. Lower is better. Each cell is the median of 20 trials; the spread was tight (within ±30 ms on most conditions).

Switcher Adjacent Mid-list (5th) Deep (9th / nested)
Cmd+Tab1806201,080
Dock click680720820
Spotlight900890920
Raycast720740780
Radial menu (Swik)210240390

The shape of the data matters more than the individual numbers. Cmd+Tab is the fastest thing on macOS for one specific case and gets worse linearly. The Dock is surprisingly flat — about 700–800 ms regardless of position, because your eyes can pick out the right icon without scanning. Typed launchers are almost perfectly flat because the cost is the typing, not the finding. Radial menus are fast and only mildly position-dependent (the sub-menu adds ~150 ms for the second flick).

App switch time (ms) — median of 20 trials 0 200 400 600 800 1000 180 620 1080 Cmd+Tab 680 720 820 Dock 900 890 920 Spotlight 720 740 780 Raycast 210 240 390 Radial Adjacent app Mid-list (5th) Deep / nested (9th)

What's actually happening in those numbers

Cmd+Tab — best case, worst scaling

Cmd+Tab is really two distinct interactions welded together. The quick press-release hits the adjacent app in about 180 ms — basically the minimum possible time to press and release two keys. But every additional Tab press adds around 120 ms, and there's usually a 50–80 ms visual confirmation step where your eyes jump to the new highlighted icon before you commit to another Tab. By the 9th app it's a full second of deliberate button-mashing.

The other thing the raw time hides: with Cmd+Tab you also have to decide when to stop tabbing, which is a conscious step the other switchers don't require.

Dock — surprisingly flat

The Dock is the interaction-design dark horse here. It's not fast for any single case, but it's almost position-independent — your eyes locate the icon in parallel with your hand moving the mouse, and the click time is basically constant. If you keep the Dock always visible and you have good mouse-hand control, it's more than good enough for a lot of workflows.

The catch is the entry cost: the Dock eats ~40 pixels of screen real estate permanently, and a lot of people hide it. Once you hide it, the reveal-animation penalty adds 200–400 ms and wrecks the flatness.

Spotlight and Raycast — the typing tax

Both typed launchers are slow in the best case (because typing is slow compared to a gesture) and almost perfectly flat as the app gets "deeper." That flatness is the whole value — they don't scale with the size of your app list the way Cmd+Tab does.

Raycast is consistently a bit faster than Spotlight in our measurements, mostly because Raycast's fuzzy search surfaces common apps with fewer keystrokes and its render pipeline is tighter. It's a real gap, but not a huge one.

Radial menu — short and flat

The radial menu is 210–240 ms for a single flick and about 390 ms when you have to flick into a sub-menu. The reason it's so fast is that the cursor never has to travel — the menu opens around wherever the cursor already is. Your hand is already at the origin. The "distance" in Fitts's Law is just the 60–90 pixels from the origin to the target wedge, which is about the shortest travel any pointing interaction on a Mac involves.

It also avoids the typing tax entirely. You don't have to name the app; you just have to know where it lives.

Why radial menus win: Fitts's Law, briefly

Paul Fitts published a famous paper in 1954 that's still the foundational model for pointing tasks. It predicts the time to hit a target as:

MT = a + b · log₂(D/W + 1)

Where MT is movement time, D is the distance to the target, and W is the width of the target. The logarithmic term is the interesting one — doubling the distance doesn't double the time, but it does add significantly to it. And narrowing the target punishes you even harder because the log term grows when W shrinks.

Radial menus exploit Fitts's Law in two specific ways:

  1. Distance is constant and short. Every wedge is 60–90 pixels from where the cursor started. The log term is tiny.
  2. Target width is effectively infinite in one direction. Once you flick northeast, you're committed to that wedge no matter how far you flick — the wedge extends to the edge of the screen. In Fitts's Law terms, W is enormous, which collapses the log term toward zero.

Linear switchers like Cmd+Tab violate both of those conditions. Distance grows linearly with position. Width is small (one icon). Spotlight/Raycast work around the whole Fitts's Law problem by making the target not-a-target — you name it instead of pointing at it — but that substitutes a 400–700 ms typing step for the pointing cost.

Linear (Cmd+Tab) Distance D grows with target position cursor D grows ∝ position Radial (Swik) D constant and small for every target D constant ≈ 70 px

The aggregate picture

If we weight the three scenarios by how often people actually do each one — call it 30% adjacent, 50% mid-list, 20% deep — the blended times work out like this:

Switcher Weighted average Notes
Radial menu255 msFastest on aggregate
Cmd+Tab580 msHeavily dragged down by deep cases
Dock click728 msFlat-slow
Raycast744 msFlat-slow, scales well
Spotlight898 msSlowest across the board

The one thing to remember: "fastest on aggregate" only matters if you're willing to learn the spatial layout. Day-one radial menu performance is worse than day-one Cmd+Tab performance, because your hand doesn't know where anything is yet. The numbers above are the steady state after a practice period. If you won't practice, use Raycast.

Methodology in full, for anyone who wants to reproduce

Hardware: MacBook Pro M3 Max, 14-inch, 120Hz display. External monitor disabled. Ambient light controlled.

Software: macOS 14 Sonoma. Swik 2.0 for the radial condition. Raycast 1.78. BetterTouchTool not tested — it has too many configuration variables to produce a fair single number.

Open apps during test: 12 apps running (Finder, Safari, Slack, Messages, Terminal, Cursor, Notes, Xcode, Music, Figma, Mail, Calendar). Apps ordered by recency to simulate a typical day.

Recording: Screen capture at 120 fps via QuickTime, with a mechanical keyboard click audible for additional timing verification. Cursor position reset to screen center before each trial.

Measurement: Frame of first key-down (visible as modifier-key HUD change on-screen) to frame where the target window's title bar first receives focus styling. Counted manually, verified by a second person on 20% of trials.

Practice: Three days of normal daily use with each switcher before measurement. This is the part everyone skips and it's why "day one" benchmarks mislead.

Trials: 20 per scenario per switcher, with a 10-second decision gap between trials. Median reported; mean was within 4% of median for all conditions.

Caveats

This is a single-operator benchmark on a specific machine. Your numbers will differ. Things that will move the numbers up or down by 20%+:

We'd love to see someone run this on Intel hardware, on macOS 15 Sequoia, or with 25+ apps open. The shape of the result is unlikely to change — radial wins aggregate, Cmd+Tab wins the adjacent case, typed launchers are flat-slow — but the specific numbers will move around.

The one-paragraph takeaway

Cmd+Tab is optimal for the last-used app and gets linearly worse from there. Radial menus win the aggregate by a wide margin because every target sits at a short, constant distance from the cursor. Typed launchers are flat — roughly 700–900 ms regardless of where the app sits — which makes them great for apps you open by name and mediocre for apps you reach for by reflex. The best workflow for most people is to keep Cmd+Tab for the back-and-forth toggle it's genuinely great at, add a radial menu for the handful of apps you switch to constantly, and add a typed launcher for everything else.

Frequently asked questions

What's the fastest way to switch apps on macOS?

For the most-recently-used app, Cmd+Tab is fastest at around 180 ms. For any other app in a list of 10+, a radial menu with muscle memory wins at around 220–280 ms. Typed launchers like Spotlight and Raycast average 700–900 ms once you include the typing time.

Why is Cmd+Tab slower than it feels?

Cmd+Tab is fast for the adjacent app (~180 ms) but scales linearly. Reaching the 7th app takes roughly 180 ms + 6 × 120 ms = 900 ms of Tab presses, plus visual scan time. Most benchmarks only measure the best case.

Does Fitts's Law apply to app switching?

Yes. Fitts's Law predicts how long a target takes to hit based on its size and distance. Radial menus shine because every target is the same short distance from your cursor start — the logarithmic term in Fitts's Law stays small and constant.

How did you measure these times?

We recorded screen captures at 120 fps while performing scripted app switches, then measured frames from trigger-press to target-window-focused. Each condition was repeated 20 times after a three-day practice period to approximate muscle-memory performance.

Can I reproduce this benchmark?

Yes. The post includes the methodology, the exact switcher configurations, and the practice protocol. Screen-record at 60 fps or higher, count frames from key-down to target focus, and run 15–20 trials per condition.

Swik — a radial menu for macOS

The switcher that wins the aggregate. Muscle-memory fast for the apps you reach for a hundred times a day. Free for five wedges, $9 one-time for unlimited.

Download for macOS