Skip to content
0:00 / 0:00

#refterm#windowsterminal#unicode

Refterm v2 - Resource usage, binary splat, glyph sizing, and more

Molly Rocket

148K subscribers • 32 videos on Hallway

YouTube
  • Recommended by 4 people: 3 on Hacker News and 1 on Lobsters.
  • Presented by Casey Muratori, founder of Molly Rocket
  • An opinion. It argues one side of a question engineers disagree on.

Advanced. Deep dive for people who know the field.

67K views5 years ago4 recommendations

Systems programmingGraphics and audioPerformance and optimizationRenderingOperating systems

Casey Muratori demonstrates Refterm v2, showing how a GPU-based terminal renderer can achieve extreme performance, low memory usage, and correct Unicode handling.

Addressing the floats in the excuse parade.

Why it's here

4 people recommend this

What people say. Recommended as a powerful demonstration of how modern software can be orders of magnitude faster and more efficient with proper optimization.

mikejsavageon Lobsters • Recommends

Refterm v2 - Resource usage, binary splat, glyph sizing, and more Episode 2 of https://lobste.rs/s/k2mjsk/how_fast_should_unoptimized_terminal_run

fredrikholmon Hacker News • Recommends

On “Looking at the Performance of Refterm”

In his follow up video0, he shows that in-use-memory is half that of Windows terminal, whilst simultaneously being >100x faster. Windows terminal chugging away in the background consuming 20% CPU for minutes at a time whilst he's debunking these claims / running the same data on refterm a few times over is hilarious (inflammatory or not). 0. link to this video

mariusoron Hacker News • Recommends

On “Warp: Fast, Rust-based terminal (waiting list)”

You should look into Casey Muratori's quest1 against Windows terminal slowness on github and youtube. There were some heated exchanges there and some proof of concept software created to demonstrate both how slow Windows Terminal is, and how fast a GPU enabled terminal can be. 1 The latest video for it is here: link to this video

jiggawattson Hacker News • Recommends

On “WireGuardNT, a high-performance WireGuard implementation for the Windows kernel”

…asily do 7.5 Gbps! That needs to be repeated: At least ONE HUNDRED TIMES faster than the "best" Microsoft can offer to their hundreds of millions of enterprise customers that are working from home. Someone from Microsoft's networking team needs to read this, and then watch Casey Muratori's rant about Microsoft's poor track record with performance: link to this video…

jiggawattson Hacker News • Recommends

On “It takes a PhD to develop that”

Don't assume. Casey Muratori produced a highly correct Unicode renderer with correct VT code support. Watch the video: link to this video

jiggawattson Hacker News • Recommends

On “Why modern software is slow”

…eds it to work .2 Just amazing to see something like this happen. It's like a slow motion train wreck, ruining one Windows app at a time. 1 These videos are especially "shocking" because the code he wrote is terse, straightforward, lightning fast, and more correct than whatever madness Microsoft was doing. First weekend: link Second weekend: link to this video 2 For example, opening a 300 MB log file takes a solid minute of time, which is absurdly slow. It also bloats this to 800 MB of memory usage. For comparison, TextPad opens it in 5 seconds and uses 30 MB of memory. VS Code, an electron application(!) opens in under 2 seconds.…

u/skeetoin r/C_Programming • Mentions

On “Looking for for resources to write a win32 terminal emulator”

Over just the past few months there was all this hubbub about building a high performance terminal emulator for Windows since Microsoft is unable to do so. Here's that series: * How fast should an unoptimized terminal run? * Refterm v2 - Resource usage, binary splat, glyph sizing, and more * Refterm Lecture Part 1 - Philosophies of Optimization * Refterm Lecture Part 2 - Slow Code Isolation * Refterm Lecture Part 3 - Minimal Buffer Processing * Refterm Lecture Part 4 - Glyph Hash Table * Refterm Lecture Part 5 - Parsing with SIMD Source: https://github.com/cmuratori/refterm

u/cxzukin r/ProgrammingLanguages • Mentions

On “What are some features of a shell interpreter that should not be overlooked? Another question: what characteristics should a sell language have?”

Ive not much of an opinion on shell languages, but the intrpreter itself - Casey Muratori has been critiquing the Windows terminal this week, there are two videos of interest. [video is the latest. His main focus is on speed, but the thing I gleamed from his demo's was the state of unicode support in a high profile terminal. (I know there are better terminals out there that support unicode). So, I'd personally say its time terminals had solid unicode support as a minimum. Kind regards, M ✌

siproprioon Hacker News • Mentions

On “Windows Terminal Preview 1.11 Release”

It's been slow like this (and with lots of user complaints!) since always! Perhaps you guys should borrow some of those Microsoft research phd folks to improve terminal performance1. 1: link to this video

jiggawattson Hacker News • Mentions

On “It takes a PhD to develop that”

…in the vocabulary, and couldn't fathom it being a solvable problem despite having a trivial scenario on their hands with no complexity to it at all. The "complaining developer" produced a proof of concept in just two weekends that notably had more features1 and was more correct than the Windows Terminal! RefTerm 2 vs Windows Terminal in action: link to this video Refterm 2 source: link One of the previous discussions: link 1 Features relevant to the debate at any rate, which was that it is possible to write a high-performance terminal renderer that also correctly renders Unicode. He didn't implement a lot of non-rendering features, but those are beside the point.…

dr_zoidbergon Hacker News • Mentions

On “Rich: A Python library for rich text and formatting in the terminal”

> Layers and layers of cruft which you can trace back to before the computing era. Even those layers and layers don't _have to_ slow things down. Check the refterm "debacle" (2 for the context, 0, 1 as Muratori's answer to it). It's just the way things are usually programmed doesn't care about performance and how fast things really can be. I sometimes wonder in we're not due for a massive round of optimization on a couple of the layers that we're used to using/depend on. 0 link 1 link to this video 2 link

prometheus76on Hacker News • Mentions

On “Available today: The Windows 11 2022 Update”

Replying to my own comment to add the proof that instead of double-digit fps terminal text rendering, he was able to achieve 4-digit fps terminal text rendering after a weekend of coding: Part 1 (Proof of concept): link Part 2 (more features added): link to this video

jiggawattson Hacker News • Mentions

On “Is software abstraction killing civilization? (2021)”

Having personally implemented a Unicode text renderer in both DirectX and OpenGL back in 2002 for the Japanese game market, I dare say that chances are that I know a heck of a lot more than you about high performance multilingual text rendering. Don't presume. You just made the exact same argument that Casey Muratori absolutely demolished very publicly. The Windows Console dev team swore up and down that it was somehow "impossible" to render a fixed-width text console at more than 2 fps on a modern GPU when there are "many colors" used! This is so absurd on its face that it's difficult to even argue against, because you have to do the equivalent of establishing a common scientific language w…

u/skeetoin r/C_Programming • Mentions

On “Beside SDL, is there an easier way to just show a custom rectangle with text, cross-platform?”

…bitmap stuff was wasteful. How do you think TTF rendering works? It's the same thing! The only difference is that you use a font renderer to build the raster font at startup from a vector font. Check out this short series about refterm, which deliberately uses a slow system font renderer, but places a hash table in front to amortize its costs: * link to this video * link to this video * link to this video * link to this video * link to this video * link to this video * https://github.com/cmuratori/refterm…