Half a Second, Two Very Different Cars: A Virtual Race at Barber

Aug 15, 2026

Half a Second, Two Very Different Cars

Part 5.1 of my AI-coached track weekends. Barber Motorsports Park, August 2026 — and the first virtual race where both laps happened the same morning.

The back of the Z4 — Georgia plate SMRFETT — in the Barber paddock Smurfette, Saturday morning in the Barber paddock. The plate is not subtle and neither is the exhaust.

Barber. Two and three-eighths miles, fifteen corners, no straight long enough to hide on. In one corner: Mike M.'s BMW E36 M3 — race prepped, caged, a fully built S50 with a balanced rotating assembly and a sport cam (270 whp), MCS single-adjustable dampers, aero. The whole point of which is corners. In the other: my 2022 Z4 M40i, an automatic convertible with camber plates and street tires, the whole point of which is a turbocharged inline six.

Mike M.'s E36 M3, #83 SU, under the canopy in the Barber paddock "So hot at Barber, even the car needs its own fan to stay cool." — #83 SU, caged, built S50, MCS singles, aero. Photo: Mike M.

His best lap that morning: 1:42.163. Mine, thirty-one minutes later: 1:42.70. Half a second apart, in cars that have almost nothing in common.

So I aligned them meter by meter and let them race.

The gap between the two laps across the whole Barber lap, with both speed traces underneath Above the line, the M3 is ahead. Five lead changes, one full second, and a finish nobody would have guessed from the middle of the lap.

Green flag. They cross the stripe together and the Z4 simply leaves. My front straight top speed is 116.9 mph to his 109.7 — seven miles an hour of B58 — and by the time I hit the brakes for Turn 1 I'm 0.146 seconds up the road. That is the high-water mark of my entire race, and it lasts 130 meters.

Turn 1. Then the corner arrives and the premise introduces itself. I slow to 68.6 mph for the downhill left. The M3 goes through at 76.4. Eight miles an hour, same asphalt, and three tenths gone in one corner. The lead changes hands at 192 meters and I will not see the front again for nearly two kilometers.

Turns 2 and 3. This is the worst corner of my lap and it isn't close. The M3 is five to nine mph faster from the entry to the exit of the second apex — 61.4 mph minimum to my 54.6 — and for 320 unbroken meters my deficit grows every step of the way. Final damage: 0.752 seconds in one corner complex. That's 140% of the eventual race margin, spent before we're a fifth of the way around. By the exit the M3 is a full second ahead.

The climb to Turn 4. My turn. The B58 hauls itself up the hill at 105.4 mph to his 99.6, and over the crest — which is really a flat-out compression, not a corner — I carry 80.1 mph to his 74.6. Two tenths back on the climb, another three and a half over the crest. A second becomes 0.42.

Turn 5, Charlotte's Web. And then I give all of it back in a hundred meters. Watch this sequence, because it's the whole lesson of my weekend:

Into the corner Me Mike M.
Entry speed 79.1 mph 73.2 mph
Minimum speed 38.1 mph 45.1 mph
At the slowest point 14 mph faster

I arrive six mph faster than he does and get to the slowest point of the corner fourteen mph slower. Fourteen. That is the largest instantaneous speed difference anywhere on the lap, and it costs me 0.60 seconds inside the first hundred meters of one corner. Charlotte's Web is off-camber and dropping away from you — the surface gives you nothing back for the speed you threw away — and the M3's lead peaks at 1.042 seconds right at the exit.

Then the turbo goes to work and I claw 0.43 of it back over the next 230 meters of exit. Net loss: only 0.173 seconds. The corner looks nearly even in the table. It was a rout.

Turn 6 into Turn 7. Barber's other flat-out kink, and the biggest single gain of my lap: 96.1 mph to his 88.1, half a second in one non-corner. Through the 7a/7b complex he takes 0.24 back (50.2 mph minimum to my 43.2 — the same story as T5, smaller). Then Turn 8 and Turn 9, both fast, both mine: 91.2 mph to 84.7 through 9 alone.

Turns 10 and 11. And now, 2,135 meters in, the gap reads zero. From a full second down, on a lap where he has out-cornered me almost everywhere, I've drawn level — and for two separate stretches through 10 and 11 my nose is actually in front. Best of it: 0.13 seconds. If this had been real, this is the part where you spend three laps learning that you can't pass a car that's faster in every corner just because you're faster everywhere else.

Turn 12. The knockout. 72.9 mph to my 64.1 — nearly nine mph less minimum speed for me, in a compression that fires you up an eight percent grade. I pay for it twice: once in the corner, once climbing out. The gap goes from level at 2,729 meters to eight tenths by the Carousel, and it never comes back to zero again.

The Carousel. Barber's long right-hand sweep is where I lose the least on paper — 0.114 seconds, and my "minimum speed" is even a shade higher than his. Both of those numbers are lies of measurement. What actually happens is that Mike holds 82 to 84 mph for the entire arc while I sag to 78–80 and stay there:

Through the Carousel Me Mike M.
a third of the way in 81.2 84.0
halfway 78.9 82.5
two-thirds 79.6 83.1
exit 78.2 81.7

Three mph, sustained, for 240 meters. Take the Carousel and Turn 14a together and he's up 0.271 seconds through the complex. The irony: the Carousel is the one corner on the circuit where the banking is helping — and I'm the one not taking the loan.

Turn 15 to the flag. My last act is the only thing I'm actually good at: 112.6 mph to his 104.6 on the run to the line, worth a quarter second, which is why the final margin is smaller than the gap was at any point after Turn 12.

The 1:42.70, from the driver's seat.

Bill's blue Z4 M40i parked in front of the Barber Motorsports Park entrance sign November 2024, on the drive home from Texas the day I bought it. Twenty-one months and a lot of laps before this race.

Checkered flag: the M3 by 0.537 seconds. Five lead changes.

Where half a second actually lives

Split the lap not into sectors but into kinds of asphalt, and the whole race resolves into two numbers:

Time
Slow and technical corners (T1, T2/T3, T5, 7a/7b, T10–T12, Carousel, 14a, T15) M3 by 2.496 s
Fast corners and crests (T4, T6, T7, T8, T9) Z4 by 1.295 s
Straights and links Z4 by 0.663 s
Net M3 by 0.538 s

I win 1.96 seconds wherever the road is straight or nearly so. I give back 2.50 seconds wherever I actually have to turn. Half a second is what's left over after two completely different cars cancel each other out — which is a much more interesting result than half a second usually is.

Here's the full corner table, minimum speeds in mph, because minimum speed is the money stat:

Corner Me Mike M. Δ Corner time
T1 68.6 76.4 −7.7 M3 +0.376
T2/T3 54.6 61.4 −6.8 M3 +0.752
T4 crest 80.1 74.6 +5.6 Z4 +0.369
T5 Charlotte's Web 38.1 45.1 −7.0 M3 +0.173
T6 96.1 88.1 +8.0 Z4 +0.502
T7 74.4 71.0 +3.4 even
T7a/T7b 43.2 50.2 −7.0 M3 +0.241
T8 69.6 67.0 +2.6 Z4 +0.198
T9 91.2 84.7 +6.5 Z4 +0.215
T10 88.8 91.5 −2.7 M3 +0.120
T11 84.6 84.7 −0.1 even
T12 64.1 72.9 −8.8 M3 +0.440
Carousel see above see above −3 sustained M3 +0.114
T14a 52.6 54.7 −2.1 M3 +0.157
T15 65.7 67.4 −1.7 M3 +0.080

My minimum speed is lower than the M3's in nine of the fifteen corners, and every single one of those nine is a corner I lose time in. That's not a coincidence and it's not the tires.

What I'm stealing

Three things, and they're all the same thing.

Stop over-slowing the entry. My signature in every technical corner is: arrive as fast or faster than he does, brake harder, over-slow the minimum by seven to nine mph, then rebuild on turbo torque. Look at T5 again — identical approach, six mph faster entry, seven mph slower minimum. Same in T2/T3, same in T12. Identical entries, very different minimums. A minimum speed is a decision, not a spec sheet.

Charlotte's Web: brake earlier, brake less. Target minimum in the low forties, not 38. My own solo analysis of Saturday — done before I'd ever seen Mike's data — had already flagged T5 as the one corner where I was slower than my own May baseline, and the third-biggest pot of unrealized time on the circuit. Then a completely different car in a completely different session put 45.1 on the board through the same piece of road. Two independent methods, one answer.

The Carousel: one arc, no bleed. 82–83 mph the whole way around instead of a slow sag to 78. Same solo analysis ranked the Carousel the single largest repeatability gap of my 35 clean laps — three tenths sitting between my own best and my own median. Mike's trace is what closing that gap looks like from the outside.

Everything the Z4 does that the M3 can't — the 117 mph front straight, eight mph through Turn 6, the run to the flag — I get for free. It's already in the bank. The corners are the part I have to go earn.

What's different from the Rich race

The last virtual race I built — The Race That Never Happened, Rich's race-prepped Mini against my stock E86 at Road Atlanta — ran on GPS lap traces and nothing else. Two lines through space and time, aligned meter by meter. It worked, and it was still guessing about the road.

This one has two things that race didn't.

Both laps are dense on both sides. At Road Atlanta, my Harry's LapTimer rig logged at 25 Hz and Rich's AiM at 10 — enough to race, but his trace was the coarse half of every comparison. Here Mike's AiM logs at 20 Hz against my 25. Both cars are sampling faster than they can change direction, so a fourteen mph difference at an apex is a measurement, not an interpolation.

And the track surface is measured, not assumed. Barber now has a real elevation and camber model under it, from lidar: the USGS 3DEP public-domain point cloud, project AL_11County_2_B23, flown 2024-03-27 — 31 million points over the property, pulled straight out of the AWS open-data bucket — fitted to the ground along my own racing line at 5-meter stations, 2.84 cm median residual. Every corner in this post therefore has a number for what the asphalt is doing, not a vibe.

Which changes how the race above reads. Charlotte's Web measures −1.76 % off-camber at the apex: Mike's 45 mph minimum against my 38 is being carried on a surface that gives nothing back — the corner really is as mean as it feels. The Carousel reads banked, up to +6 % through the arc, which is exactly the loan I'm not taking when I sag to 78. T1 is +6 %, T2/T3 up to +9 % — both banked, both corners I lose badly in, which means I'm giving away time where the road is actively helping. And the strongest vertical event on the lap is a −0.35 g crest between T2/T3 and T4 that no club map names — the Turn 4 corner worker is standing right on top of it, but it's not a corner, so nobody talks about it. The lidar found it anyway.

That's the part I'm most interested in going forward: the plan is to run this same mapping before the next two events instead of after. First a track I've never seen — Ozark International Raceway in September — and then the return to Atlanta Motorsports Park, the first track I ever drove (October 2021) and where I was last in April — the roller coaster, where nothing is flat and my mental model has always been built from the seat, not the surface. If an elevation and camber read is ever going to be a game changer, it's there. Rich's ghost is welcome back for that one.

Sources: registry.opendata.aws/usgs-lidar · usgs.entwine.io · the lidar pipeline.

The rematch: Rich's ghost shows up

Turns out I didn't have to wait for AMP. Rich — the Mini from The Race That Never Happened — was at Barber the same Saturday morning in the same 2011 Cooper S, and his best lap went down at 10:37, half an hour after mine. Mike at 9:36, me at 10:07, Rich at 10:37. Three cars, one hour, one piece of asphalt, and no two of us on track at the same time.

His lap 7: 1:47.340. That's 4.64 seconds to the Z4 — a completely different species of gap than the half second above — and the interesting part is where it isn't.

Three-way gap trace: the M3 and the Mini both measured against my Z4 lap, with all three speed traces underneath Two challengers, one reference lap, and each panel on its own scale — a +0.5 second fight and a −4.6 second one don't share an axis honestly.

Down the pit straight the three read 116.8, 107.9 and 102.3 mph — the same window for all three, which is why Mike's number here sits under the 109.7 lap best I quoted earlier. The Mini is short of engine and it pays for that everywhere the road is straight: about 2.1 of the 4.64 seconds goes on the straights and links. The other 2.5 is corners, and it is not spread evenly. Nearly all of it lives in three fast, committed places — the Turn 4 crest alone costs him 1.66 seconds — while in the tight stuff he is the quickest car on the property. Through T7a/T7b the Mini takes 5.70 s to my 6.30 and Mike's 6.06. It's quicker than my Z4 through T2/T3, T12 and Charlotte's Web too — and quicker than the M3 through Charlotte's Web, T10 and T14a. A race-prepped front-driver eating the technical bits and handing every bit of it back the second the road opens up.

The honest caveat: Rich's AiM logs at 10 Hz against my 25. Lap time, zone times and straight-line top speed hold up fine at that rate; a single-sample corner minimum is worth about ±1 mph, so I've quoted his corner times rather than his apex speeds, and the chart says so.

Which means that "Rich's ghost is welcome back" line a few paragraphs up got paid off early. Same morning, as it turns out.

Fine print, because it matters

This race didn't happen. We were never wheel to wheel; this is HPDE. Mike's lap went down at 9:36 on Saturday morning, mine at 10:07 — same track, same temperatures, thirty-one minutes apart. That's the tightest conditions control of any virtual race I've built. What you read above is both laps recorded as dense GPS — his logger at 20 samples per second, mine at 25 — normalized to each car's own lap distance and replayed side by side. The math checks itself: the virtual margin at the finish line has to land exactly on the real lap-time gap, 0.537 seconds. It does.

Sunday, early lunch at the Waffle House between sessions Sunday, 10:30 a.m., between sessions. Race engineering runs on a Fiesta Chicken Protein Bowl — keto doesn't take race weekends off.

Mike had five flying laps. One seven-lap session, and he went faster on every single one of them: 1:50.25, 1:47.80, 1:44.10, 1:42.45, 1:42.163. The 1:42.163 was his last lap of the session — and, he tells me, his best of the whole weekend across every session he ran. I had 35 clean laps across a whole day to find my 1:42.70. Draw your own conclusions about which of us was closer to the ceiling.

And a bug found the honest way. Our database had his lap stored as 1:42.10; his beacon says 1:42.163. Our AiM importer was quietly clipping about sixty milliseconds off every lap — which nobody notices until you try to make two laps add up to a margin and they refuse. The virtual race caught it. The headline number in this post is the beacon time, and the importer is on the fix list.

I'll also tell you what I didn't compare: peak cornering g and brake points. His logger derives g from GPS, mine has real accelerometers, and his channel happily reports 2.1 g through Turn 2 — which no E36 M3 has ever pulled on any tire. That's noise, not driving, and I'm not publishing a number about somebody else's driving that I know is an artifact of their logger.

Race me

Everything above needs dense GPS — ten samples a second or better. If you've got it, and we've both got laps at the same track, we can race. My standing Barber ghost is now the 1:42.70 in this post. Send an export — Harry's LapTimer, RaceBox, AiM, Garmin Catalyst, a CSV, a zip, even a Dropbox link — to upload@trackdays.ai and I'll stage the whole thing, announcer voice and all.

Mike, for the record, is welcome to keep the trophy. I'm going to go find four mph in Charlotte's Web and three in the Carousel and we can do this again.

Next up: what happened on Sunday when I took this exact list of corners back out — and whether a target minimum speed survives contact with the actual racetrack.