<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/rewriting-in-rust-performance-failures-2026-reality-check-pzp9w9mws" -->

---
title: Rewriting in Rust: Performance, Failures, 2026 Reality Check
description: A balanced, evidence-based look at the 'Rewrite It In Rust' (RIIR) movement, covering real performance data, notable failures, and practical guidance....
canonical: https://daily.dev/posts/rewriting-in-rust-performance-failures-2026-reality-check-pzp9w9mws
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Rewriting in Rust: Performance, Failures, 2026 Reality Check | daily.dev
og:description: A balanced, evidence-based look at the 'Rewrite It In Rust' (RIIR) movement, covering real performance data, notable failures, and practical guidance....
og:url: https://daily.dev/posts/rewriting-in-rust-performance-failures-2026-reality-check-pzp9w9mws
og:image: https://api.daily.dev/og/posts/PzP9w9MwS.png
og:image:alt: Rewriting in Rust: Performance, Failures, 2026 Reality Check
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Rewriting in Rust: Performance, Failures, 2026 Reality Check

**[JetBrains](https://daily.dev/sources/jetbrains)** · 12 min read · 5 upvotes · 0 comments

## Summary

A balanced, evidence-based look at the 'Rewrite It In Rust' (RIIR) movement, covering real performance data, notable failures, and practical guidance. Performance wins are real but not automatic — ripgrep beats grep 6s vs 52s on a 37 GB dataset, the PNG crate is nearly 2x faster than libpng, and uutils sort runs ~4x faster than GNU sort. However, rewrites introduce new bugs (including CVEs in Rust kernel code), and projects like Prisma, Loglog Games, and curl/hyper all failed or stalled. Rust in the Linux kernel was declared a success at the 2025 Maintainers Summit. The recommended approach is incremental expansion rather than full rewrites, backed by thorough test suites. The post also covers binary size strategies (multicall binaries, UPX), licensing considerations, and when Rust is genuinely the wrong choice (e.g., Microsoft chose Go for the TypeScript compiler rewrite).

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.jetbrains.com/rust/2026/08/10/rewriting-in-rust>

## Questions this post answers

### How much faster is ripgrep compared to grep on large directories?

Ripgrep finished a search for a word across a 37 GB cargo target directory in six seconds, compared to 52 seconds for grep. This kind of speed difference is one of the concrete performance arguments cited in favor of Rust rewrites of classic Unix tools, alongside uutils sort running roughly four times faster than GNU sort due to parallel merge sort.

_daily.dev surfaces real benchmark comparisons like this for developers deciding between rewritten CLI tools and their originals._

### Why did Prisma move its query engine away from Rust back to TypeScript?

Prisma migrated its query engine off Rust and back to TypeScript due to skill-set gaps on the team, deployment complexity, and runtime issues encountered in production. This is cited as one of several notable RIIR failures, alongside Loglog Games abandoning Rust after three years of game development and the curl project dropping its hyper backend integration at 95% completion.

_developers weighing a Rust rewrite against a return to a familiar language can track cases like this via daily.dev._

### How did uutils coreutils solve Rust's large binary size problem?

Uutils used a multicall binary format, the same approach BusyBox uses, compiling all utilities into one binary invoked through symlinks. This reduced 73 MB of individual binaries down to 13.8 MB, beating the 18.4 MB GNU coreutils standard install, and further compressing to 5 MB with UPX.

_teams sizing up Rust binary bloat for their own tooling can find practical mitigation patterns like this on daily.dev._

## Similar posts on daily.dev

- [Choosing Rust for All the Wrong Reasons \(Diary of a Mercenary\)](https://daily.dev/posts/choosing-rust-for-all-the-wrong-reasons-diary-of-a-mercenary--p8m8obyxf) · Medium · 3 upvotes · 0 comments
- [Rewriting the world in Rust — Bitfield Consulting](https://daily.dev/posts/rewriting-the-world-in-rust-bitfield-consulting-vxpqrwzmv) · Bitfield Consulting · 69 upvotes · 8 comments

---

Tags: [#performance](https://daily.dev/tags/performance), [#rust](https://daily.dev/tags/rust)

[View this post on daily.dev](https://daily.dev/posts/rewriting-in-rust-performance-failures-2026-reality-check-pzp9w9mws)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Rewriting in Rust: Performance, Failures, 2026 Reality Check","url":"https://daily.dev/posts/rewriting-in-rust-performance-failures-2026-reality-check-pzp9w9mws","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/rewriting-in-rust-performance-failures-2026-reality-check-pzp9w9mws"},"datePublished":"2026-08-10T15:52:50.973Z","dateModified":"2026-09-13T19:43:55.326Z","description":"A balanced, evidence-based look at the 'Rewrite It In Rust' (RIIR) movement, covering real performance data, notable failures, and practical guidance....","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0bb447fad18d6d476770dcf0eebcf949?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0bb447fad18d6d476770dcf0eebcf949?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"JetBrains","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"JetBrains","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/53ecf0c676f34b3896ee109609d91efa","url":"https://daily.dev/sources/jetbrains"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/rewriting-in-rust-performance-failures-2026-reality-check-pzp9w9mws","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":5},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"performance,rust","timeRequired":"PT12M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"JetBrains","item":"https://daily.dev/sources/jetbrains"},{"@type":"ListItem","position":3,"name":"Rewriting in Rust: Performance, Failures, 2026 Reality Check"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/rewriting-in-rust-performance-failures-2026-reality-check-pzp9w9mws#faq","mainEntity":[{"@type":"Question","name":"How much faster is ripgrep compared to grep on large directories?","acceptedAnswer":{"@type":"Answer","text":"Ripgrep finished a search for a word across a 37 GB cargo target directory in six seconds, compared to 52 seconds for grep. This kind of speed difference is one of the concrete performance arguments cited in favor of Rust rewrites of classic Unix tools, alongside uutils sort running roughly four times faster than GNU sort due to parallel merge sort. daily.dev surfaces real benchmark comparisons like this for developers deciding between rewritten CLI tools and their originals."}},{"@type":"Question","name":"Why did Prisma move its query engine away from Rust back to TypeScript?","acceptedAnswer":{"@type":"Answer","text":"Prisma migrated its query engine off Rust and back to TypeScript due to skill-set gaps on the team, deployment complexity, and runtime issues encountered in production. This is cited as one of several notable RIIR failures, alongside Loglog Games abandoning Rust after three years of game development and the curl project dropping its hyper backend integration at 95% completion. developers weighing a Rust rewrite against a return to a familiar language can track cases like this via daily.dev."}},{"@type":"Question","name":"How did uutils coreutils solve Rust's large binary size problem?","acceptedAnswer":{"@type":"Answer","text":"Uutils used a multicall binary format, the same approach BusyBox uses, compiling all utilities into one binary invoked through symlinks. This reduced 73 MB of individual binaries down to 13.8 MB, beating the 18.4 MB GNU coreutils standard install, and further compressing to 5 MB with UPX. teams sizing up Rust binary bloat for their own tooling can find practical mitigation patterns like this on daily.dev."}}]}
```

