AI NewsOpen sourceAnnouncement
Context.dev ported Cheerio to Rust and measured a 2.22x speedup
Context.dev open-sourced Rusteerio, a Rust port of the Cheerio HTML library that keeps the JavaScript API and runs a scraping pipeline on 5,000 Common Crawl pages in 10.2 seconds instead of 22.5.

Image: Context.dev
Why it mattersA drop-in replacement that keeps every selector call the same and cuts the processing time by more than half is a one-import change any Cheerio user can try on their own pages today.
Anyone running a Node scraping pipeline on Cheerio can now swap the import for Rusteerio and keep every selector call the same. Context.dev released Rusteerio, a Rust rebuild of the Cheerio HTML library, with the Cheerio JavaScript API preserved and the parsing, selectors, mutations and serialization moved into Rust. On a 5,000 page Common Crawl benchmark the company ran against both libraries, Context.dev says Cheerio finished the pipeline in 22.5 seconds and Rusteerio in 10.2 seconds, a 2.22x speedup.
Yahia Bakour, the Context.dev engineer who wrote the launch post, says the port cost the company under a day of work and in the region of $1,000 in LLM spend, and that this is why the project became worth doing at all. The library is at github.com/context-dot-dev/rusteerio and is MIT licensed. The current release is 2.0.0 and the npm package name is rusteerio.
The compatibility bar
Rusteerio targets Cheerio 1.2.0 behaviour. The hard part of a parser swap is that a faster parser whose output HTML differs by any amount from Cheerio would push the saved time back into fixing scrapers.
Context.dev says Rusteerio passes all 777 upstream Cheerio tests, with no changed assertions, no changed fixtures and no added skips. On a 5,000 page processing pipeline against Common Crawl, Context.dev says every result matched the original Cheerio run. Where that match is weakest is a case the Cheerio test suite does not cover, so a one-day sampling of Rusteerio on your own pages is the honest check for anyone with a scraping job in production.
What the two benchmarks measure
The first benchmark is a raw parse and extract on 3,000 Common Crawl pages, run on three Linux VMs (AMD Ryzen 9 9950X, 16 vCPUs, 32 GB RAM, Ubuntu 24.04, Node 24.18.1) with both libraries pinned to one CPU in a shared worker-pool harness. Context.dev reports Cheerio at 92 pages per second and Rusteerio at 364 pages per second. The versions measured are Rusteerio 1.1.6 and Cheerio 1.2.0, and the figures are medians across the three machines.
The second benchmark is the full processing pipeline Context.dev runs in production: parse each page, extract metadata and links, walk the DOM, remove scripts and styles, and return text and serialized HTML. On 5,000 Common Crawl pages (AMD Ryzen 9 9950X, 8 vCPUs, 16 GB RAM, Node 24.18.1) Cheerio took 22.5 seconds and Rusteerio took 10.2 seconds. Context.dev says both benchmarks exclude network fetching.
How a Cheerio user adopts it
The npm package is named rusteerio and the launch post says import * as cheerio from 'rusteerio' is the only line change for most users. It ships prebuilt native binaries for macOS, Linux and Windows and requires Node.js 20.19 or later. The repository includes the compatibility suite Context.dev ran against the Cheerio tests, and the benchmark code and reproduction instructions.
A faster parser helps the parse step. Any scraping system where fetching the page from the network takes much longer than parsing it will see less of the gain, because the two benchmarks exclude the time to download the page. The team running a scraping job today has one short answer the launch gives them: run their own set of pages through the compatibility suite, compare, and keep the new version or go back to Cheerio.
Source
Launch post: Introducing Rusteerio, Context.dev. Repository: context-dot-dev/rusteerio on GitHub.
This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.
Get AI News in your inbox
New developer tools, model and agent releases, and how teams are actually using them to release software. Short, and only when there is something worth reading.
