Oct 15 edition/Reporting & analysis
CodingAgentsModels

CodingSoftware & developer tools

Simon Willison's web-edit 0.1a1 speeds up file saves with fixes from GPT-6 Astra profiling and Claude Opus 5.5 code

Simon Willison's web-edit 0.1a1 includes speed-ups found when GPT-6 Astra profiled the app with Python 3.15's new Tachyon sampling profiler. Claude Opus 5.5 then wrote the fixes, cutting one worst-case file save from 3,963 ms to 29 ms.

From the Simon Willison article of October 13, 2026 and cited sources: Two agents from different vendors split the work. [1] [2] [3]

SOURCES[1] Release: web-edit 0.1a1 – Simon Willison simonwillison.net[2] Python 3.15 web-edit profiling report simonwillison.net[3] PR #1: Speed up saving, browsing and opening files github.com

AI-assisted, not human-edited. Methodology Corrections Who owns this site

KEY FACTS
What happened
Two agents from different vendors split the work. [1] [2] [3]
Original source
Simon Willison article, independent perspective
Brief by
AT Pulse research desk AI-assisted; publisher and contact on the desk page
When
October 13, 2026 article published
Evidence
12 sources across 7 sites

Reach: not measured yet

THE CORE IDEAS3 TAKEAWAYS
01

Two agents from different vendors split the work. GPT-6 Astra in Codex profiled the unmodified package under Python 3.15 and wrote up its findings. Claude Opus 5.5 used that report to write the pull request. The release reports that a worst-case save with mixed line endings dropped from 3,963 ms to 29 ms. Saves of files with a single line-ending style dropped from 61 ms to about 1–2 ms. [1] [2] [3]

02

Most of the CPU cost was on a worker thread, not the main thread. That thread accounted for 95.1% of sampled stacks, so a profile of the main thread alone would have missed it. Tachyon's all-threads mode surfaced it. This matters for any Python service that runs blocking work in AnyIO worker threads. [2] [8]

03

The main bottleneck was line-ending preservation built on difflib. The fix skips diffing when a file uses one line-ending style. For mixed endings, it anchors on lines that appear exactly once, which avoids the quadratic slowdown. It also makes smaller changes to binary detection, folder listing and hashing. 130 tests pass on Python 3.11–3.15, including 20,000 randomized comparison cases. [2] [3]

WHY IT MATTERS

The evidence shows a written profiling report can move between different vendors' agents and produce fixes that can be tested.

Read the full assessment

For teams running async Python services, the lesson is that worker threads can hide most CPU cost from profiling that covers only the main thread.

Executive brief

Simon Willison's web-edit 0.1a1 is a small open-source app for editing the files in a folder. What makes this release notable is how its speed-ups were made. GPT-6 Astra profiled the app with Python 3.15's new built-in sampler, and Claude Opus 5.5 wrote fixes based on that report. The pull request reports that one worst-case save went from 3,963 ms to 29 ms. The profile found that 95.1% of CPU stacks came from a worker thread, so a profile of the main thread alone would have missed them (report, PR #1). No independent coverage or reproduction of these numbers was found.

What changed and event timeline

  1. Anthropic releases Claude Opus 5.5

    Cheaper than Opus 5, at $4/$20 per million input/output tokens. Aggregators report dates of Sep 22, and The Batch's write-up gives Sep 25 (,).

  2. OpenAI ships GPT-6 Astra

    Released in ChatGPT and Codex, aimed at software engineering and long-running agent work. It adds new higher reasoning-effort levels (,).

  3. Python 3.15 released

    It includes Tachyon (profiling.sampling, PEP 799), a sampling profiler that can attach to a running process ().

  4. Web-edit 0.1a0 and the profiling report

    The app was built with Codex and GPT-6 Astra so Willison could edit files from his phone over Tailscale. The same model then profiled the unmodified PyPI package under 3.15 (,).

  5. 0.1a1 released

    PR #1 was co-authored with Claude Opus 5.5, merged, and tagged as a pre-release at 01:40 UTC (,).

Capabilities and access

  • web-edit 0.1a1: an alpha Python web app. It browses, uploads, deletes and previews files, and edits text with CodeMirror 6.
  • Models: "GPT-6 Astra Extra High" in Codex did the profiling.
  • Tooling: Tachyon ships with CPython 3.15.
Read the full section
  • web-edit 0.1a1: an alpha Python web app. It browses, uploads, deletes and previews files, and edits text with CodeMirror 6. It is meant to run over Tailscale (web-edit post).
  • Models: "GPT-6 Astra Extra High" in Codex did the profiling. Claude Opus 5.5 wrote the code, and a Claude Code session transcript is linked from the linked post.
  • Tooling: Tachyon ships with CPython 3.15. It supports all-threads (-a) and --async-aware modes, and claims sampling rates up to 1 MHz (docs).

Technical analysis for researchers and developers

  • Hotspot: preserve_endings appeared in 64.8% of 15,296 CPU stacks. difflib.SequenceMatcher.find_longest_match was the leaf frame in 38.3% of samples (report).
  • Fixes (PR #1):
  • Files with one line-ending style: simple counting and replacement instead of diffing.
Read the full section
  • Hotspot: preserve_endings appeared in 64.8% of 15,296 CPU stacks. difflib.SequenceMatcher.find_longest_match was the leaf frame in 38.3% of samples (report).
  • Fixes (PR #1):
  • Files with one line-ending style: simple counting and replacement instead of diffing.
  • Files with mixed endings: patience-diff-style anchoring on lines that appear exactly once, to avoid quadratic slowdowns.
  • Binary detection: bytes.translate() instead of a regex.
  • Folder listing: os.scandir instead of Path objects.
  • Content is hashed during the write instead of re-reading the file.
  • Validation: 130 tests pass on Python 3.11–3.15, including 20,000 randomized comparison cases.
  • Lesson: in apps that use AnyIO worker threads, profile all threads.

Claims and evidence

All figures below are reported by the project author in his own PR. They have not been reproduced independently.

Read the full section

All figures below are reported by the project author in his own PR. They have not been reproduced independently.

ClaimSource
Saving a file with one line-ending style: 61 ms → 1.1–1.7 msPR #1
Mixed endings with scattered edits: 3,963 ms → 29 msPR #1
HTTP throughput 6.5 → 12.7 cycles/sPR #1
95.1% of stacks were on a worker threadreport
Tachyon has "virtually zero" overheadPython docs

Context and prior work

  • Tachyon was developed by Pablo Galindo and László Kiss Kollár (gh-135953).
  • Willison regularly drops Python versions once they reach end of life; Python 3.10 has just reached that point (Oct 12 archive).
  • On the models, The Batch cites Artificial Analysis and Vals AI rankings that put Opus 5.5 first (The Batch).
Read the full section
  • Tachyon was developed by Pablo Galindo and László Kiss Kollár (gh-135953). It is the first sampling profiler in the standard library; earlier standard-library profilers worked by instrumenting every call (docs).
  • Willison regularly drops Python versions once they reach end of life; Python 3.10 has just reached that point (Oct 12 archive).
  • On the models, The Batch cites Artificial Analysis and Vals AI rankings that put Opus 5.5 first (The Batch).

Limitations, safety and contested findings

  • This is a single alpha project with one author.
  • The 136× gain applies to a worst case (mixed endings with scattered edits), not to typical saves.
  • The app was built so that credentials could be edited without passing through an LLM.
Read the full section
  • This is a single alpha project with one author. The benchmarks are micro-benchmarks chosen by the author, and the test inputs are not described in detail (PR #1).
  • The 136× gain applies to a worst case (mixed endings with scattered edits), not to typical saves.
  • The app was built so that credentials could be edited without passing through an LLM. Exposing an editor over a network also widens the attack surface, and web-edit relies on Tailscale for access control (web-edit post).
  • Sources disagree on Opus 5.5's release date (Sep 22 vs Sep 25).

Business and practitioner implications

  • A workflow others can copy: let one agent profile with a standard-library tool, then hand a written report to a different vendor's agent to implement.
  • Profile all threads: the 95.1% worker-thread share is a warning for FastAPI/Starlette-style services, which run blocking work in worker threads.
  • Make agents prove correctness: randomized comparison tests are what made the AI-written diff algorithm reviewable.
Read the full section
  • A workflow others can copy: let one agent profile with a standard-library tool, then hand a written report to a different vendor's agent to implement. Because the report is a written artifact, the step is easy to audit.
  • Profile all threads: the 95.1% worker-thread share is a warning for FastAPI/Starlette-style services, which run blocking work in worker threads.
  • Make agents prove correctness: randomized comparison tests are what made the AI-written diff algorithm reviewable.
  • Upgrade incentive: you need Python 3.15 to use Tachyon, though the fixes themselves still run on 3.11.
FOLLOW THE EVIDENCE

The source trail.

Sources (12)
A LITTLE LESS NOISE. A LOT MORE CONTEXT.

Stay curious.
Follow the evidence.

Independent perspectives, the original sources, and room for the questions that don't have easy answers.

How we build the brief
Connect with us

Find us where you already read.