Live data from Hacker News

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

warp.dev

161–170 of 181 posts

Re: Warp: Fast, Rust-based terminal (waiting list)

#161

Earlier quoted context omitted.

https://www.youtube.com/watch?v=hxM8QmyZXtg This, I think, sufficiently explains the slowness of terminals on Windows.

It's an hour long, but I watched a few snippets - is the "problem" only if you try to print megabytes of text on the terminal? I started with computers more than 30 years ago, and have been a "power user" and coder for essentially all of that. In all that time and experience, I've never found any terminal to be slow, or found one to be noticeably "faster" than another.

> It's an hour long, but I watched a few snippets - is the "problem" only if you try to print megabytes of text on the terminal?

That's pretty much where most of the terminal performance difference is on most platforms. Latency can be an issue on some, but really this was a mostly solved problem as far back as the Amiga.

I have a toy terminal written in Ruby + a tiny C extension to interface to raw xlib that currently draws individual characters and redraws the entire screen on scrolling, and even that is fast enough for most normal usage (but indeed slow at printing megabytes of text)

But getting a terminal fast enough, including on the "print megabytes of text" test boils down to a few simple principles (and you'll be "fast enough" without doing all of them even on pretty slow hardware):

* Render your text to a buffer, and only render to screen at intervals.

* Use non-blocking IO and read as much as you can into suitably sized buffers (aka: reduce pointless context switches)

* Scroll the bitmaps using whatever OS/toolkit provided functionality, rather than re-rendering the text like my stupid Ruby term.

* If you have multiple lines in your buffer, scroll once and render all of the new lines at once.

* If vector fonts, prefer to pre-render glyphs to a buffer rather than re-rendering every time.

That's about what I remember from rewriting parts of the AROS (AmigaOS replacement) terminal handling code a decade ago (does not do all of the above, but is still more than fast enough).

Re: Warp: Fast, Rust-based terminal (waiting list)

#162
post #137

Earlier quoted context omitted.

> I don't get it either - I use Windows (the default cmd, Powershell and Cmder), Linux and MacOS and don't recall a terminal emulator being slow... ever. You might be a particular type of person... I don't remember Windows Cmd being not slow, ever. It feels extremely sluggish. It supposedly has something to do with Windows ConHost, but I don't know about the details. In fact, even most terminals on Linux are unbearab…

The funny thing is fast terminal rendering was a solved issue as far back as the mid 80's even on machines like the Amiga. Yet people seem intent on inventing slow ways of doing it that then gets people to reinvent all kinds of complex ways of making it faster. The performance differences between different terminals are indeed absolutely astounding (but rarely matters much, because the things that are much faster/slo…

It's all about latency and ergonomics for me.

I suppose that terminals like Gnome's [0] are slow or feel "jittery" (i.e. inconsistent latency) for example because everything needs to go through a separate terminal server process. Then, there is Desktop compositing in the way. There might even be latency added by GPU acceleration (handling double buffering badly vs naively sending pixel updates to the Display Server?). Then, vector fonts are just terrible for programming on normal [1] displays - either anti-aliased (mushy, eye-straining) or not (jagged-y).

Another issue is historically bad / incompatible VT-100 emulation. I don't know what it is and I'm not a fetishist for organically grown terminal cruft, but in any case I've always had the most trouble with Gnome and KDE (missing characters, wrong colors, wrong drawing positions) while xterm works just fine, only the occasional "tput reset" needed after dumping binary data.

[0] just talking experiences, I'm probably referring to something based on VTE? Don't use Gnome regularly.

[1] "normal" meaning sub-4k / ~100dpi, soon will have to be referred to as "older"

Re: Warp: Fast, Rust-based terminal (waiting list)

#163
post #136

Some of the features make it sound dubious. "Real-time collaboration". Why would you bake that in your terminal?

Just share the screen/tmux session on a server. We already had realtime collaboration.

I agree. I'm staring at the use-cases for sharing and don't understand what this does any better than tmux/tmate

If I want to save a session, I use tmux. If I want to share that session, I use tmate.

I can also self-host tmate on my own machines which makes it even more attractive.

I think some of the session stuff is nice, but it's not for me.

Re: Warp: Fast, Rust-based terminal (waiting list)

#164

Anyone else avoid closed source tools? This would be interesting if the source was actually available.

I prefer open source tooling as well. Check out Tabby, it's been my daily driver. It's kind of annoying it doesnt by default open up to a terminal, but this is now configurable.

Re: Warp: Fast, Rust-based terminal (waiting list)

#166

FYI, this appears to be a startup launching an e-mail signup for a product that isn't available yet. Nothing wrong with that, of course, but it's worth noting up front. There is no download link and the GitHub link goes to an issues-only repo with no code. There are several fast Rust-based, GPU-accelerated terminal projects that are open source and under active development: Alacritty: https://github.com/alacritty/ala…

With terminal emulators having already existed for decades, what benefits do Rust and GPU acceleration bring at this point? What problem are they solving? Not trying to sound confrontational, if I do, I’m just curious.

Cannot say too much about that since I only tried alacritty once, and from what I see it is mainly speed. And yes, that's actually noticable, at least on my machine.

Re: Warp: Fast, Rust-based terminal (waiting list)

#167

The UI seems interesting, and I'm a sucker for RIIR, but why do terminal emulators keep trying to use "blazingly fast" as a feature? They're all fast (except the hideous electron ones), they're white text on black rectangles.

Fast enough, sure, but nobody’s pushing the envelope. Casey Muratori recently did a proof of concept on this problem: https://mobile.twitter.com/cmuratori/status/1411437902802808...

Re: Warp: Fast, Rust-based terminal (waiting list)

#168

FYI, this appears to be a startup launching an e-mail signup for a product that isn't available yet. Nothing wrong with that, of course, but it's worth noting up front. There is no download link and the GitHub link goes to an issues-only repo with no code. There are several fast Rust-based, GPU-accelerated terminal projects that are open source and under active development: Alacritty: https://github.com/alacritty/ala…

With terminal emulators having already existed for decades, what benefits do Rust and GPU acceleration bring at this point? What problem are they solving? Not trying to sound confrontational, if I do, I’m just curious.

I have not used the above terminal emulators, but I got a fast high refresh monitor (250Hz) with a 1000Hz keyboard recently, and the programs supporting 250 refresh/second does feel snappier. While it does feel snappier, it's not like I can press over 200 keys per second anyway, it's like with good sound, it's "night vs day" once you've paid for premium.

Re: Warp: Fast, Rust-based terminal (waiting list)

#169

The UI seems interesting, and I'm a sucker for RIIR, but why do terminal emulators keep trying to use "blazingly fast" as a feature? They're all fast (except the hideous electron ones), they're white text on black rectangles.

Fast enough, sure, but nobody’s pushing the envelope. Casey Muratori recently did a proof of concept on this problem: https://mobile.twitter.com/cmuratori/status/1411437902802808...

Interesting. I'm looking forward to watching the video, thanks for the link.
Post reply on HN