When stacking works: it depends on which features your models look at

Stacking TabPFN3, TabICL, and XGBoost provides at most +0.5 pp AUC on most tabular datasets. But on heavily imbalanced fraud detection, the ensemble is dramatically more robust. The reason is not model diversity in the abstract—it is concrete feature disagreement. XGBoost and TabPFN disagree strongly on which features matter for fraud (Spearman ρ = 0.24), while they agree closely on every other dataset (ρ = 0.67–0.95). When models look at different features, stacking hedges correlated failure modes. When they look at the same features, stacking is just expensive averaging.

May 17, 2026 · 15 min · Maxime Guerreiro

TabPFN3 vs TabICL: a matched-size fraud-benchmark sweep

PFN wins below 10k rows, ICL catches up by 100k, and PFN degrades beyond 200k. Both are 2× apart in speed because PFN is 2× larger. We also found a clean 21% inference speedup with bfloat16 autocast.

May 16, 2026 · 15 min · Maxime Guerreiro

Inlining Tokio MPSC recv: removing the async tax

Two #[inline] annotations on the innermost recv path improve large-object throughput by 14.7% and medium objects by 11% with no regressions.

May 16, 2026 · 3 min · Maxime Guerreiro

Tokio MPSC Sweep: message size vs latency

Benchmarking tokio::sync::mpsc against crossbeam::channel across ARM64 (OCI Ampere A1) and x86-64 (AMD Ryzen 9 9900X). Varying message sizes from 8 B to 32 KB to find where the async tax bites — and where it disappears.

May 15, 2026 · 2 min · Maxime Guerreiro

Amortizing tokio's global queue acquisitions

On the tokio multi-thread scheduler’s worst-case benchmark, pulling tasks from the inject queue in batches rather than one at a time reduces latency by 92%. The change reuses a batch-pop helper already present in the idle path, capped at 32 to prevent burying local work behind converted-remote tasks.

May 14, 2026 · 4 min · Maxime Guerreiro

Kitchen Sink

Reference post demonstrating every content feature supported by the site: math, diagrams, figures, and interactive sketches.

May 14, 2026 · 1 min · Maxime Guerreiro

Announcing Cloudflare Account Abuse Protection: prevent fraudulent attacks from bots and humans

Published on the Cloudflare blog.

March 12, 2026 · 1 min · Maxime Guerreiro

Forget IPs: using cryptography to verify bot and agent traffic

Published on the Cloudflare blog.

May 15, 2025 · 1 min · Maxime Guerreiro

Introducing Ephemeral IDs: a new tool for fraud detection

Published on the Cloudflare blog.

September 23, 2024 · 1 min · Maxime Guerreiro

Cloudflare is free of CAPTCHAs; Turnstile is free for everyone

Published on the Cloudflare blog. For years, we’ve written that CAPTCHAs drive us crazy. Humans give up on CAPTCHA puzzles approximately 15% of the time and, maddeningly, CAPTCHAs are significantly easier for bots to solve than they are for humans. We’ve spent the past three and a half years working to build a better experience for humans that’s just as effective at stopping bots. As of this month, we’ve finished replacing every CAPTCHA issued by Cloudflare with Turnstile, our new CAPTCHA replacement. Cloudflare will never issue another visual puzzle to anyone, for any reason.

September 29, 2023 · 1 min · Maxime Guerreiro