logoalt Hacker News

Show HN: Shitty – fast terminal. Memory-unsafe and faster than yours

102 pointsby pshirshovyesterday at 11:05 PM101 commentsview on HN

Comments

mitchellhtoday at 3:50 AM

Creator of Ghostty here. Always a fan of new terminals. I noticed your benchmarks are against Ghostty 1.3.1, which is fair, since its the latest released, but our IO throughputs in particularly the areas you tested have improved by more than double on some machines, so if you get a chance, I would ask you rebenchmark on `main`.

I don't know if it'd be faster than your terminal or not, but it'd be significantly faster than 1.3.1. On my M4 MacBook Pro, ASCII processing improved by about 2.8x, if that holds in your benchmarks, it would be faster than shitty. But, who knows. I'd prefer you ran it yourself.

3eb7988a1663today at 12:43 AM

Gutenberg's copy of Moby Dick is 1.2MB[0]. Which is to say the slowest benchmarked terminal could display a paltry ~53 Moby Dicks per second, while shitty gives you ~98 Moby Dicks.

I am not sure how many Moby Dicks I require per second, but it is good to have options.

[0] https://www.gutenberg.org/ebooks/2701

show 3 replies
yjftsjthsd-htoday at 12:00 AM

> The executable is named st; the desktop application and icon are named shitty

That conflicts with the already existing suckless st.

Also I am suitably impressed with the perf numbers, but I also somewhat take away that I could stick with (at least) alacritty or ghostty and not be much slower.

show 1 reply
cyanregimenttoday at 12:24 AM

Geeking out on terminals is like geeking out on shoelaces.

I'm glad you guys are out there - someone has to do it.

show 3 replies
p1neconetoday at 1:03 AM

This is cool, but I gotta say - I care much more about keypress-to-screen latency on my terminals than throughput - would love to see some numbers on that.

show 1 reply
jceleriertoday at 2:26 AM

> Shitty is moving from the imported GPL baseline to an MIT-only codebase. It does not intend to retain the GPL as the final project license.

that's really something that cannot be done if you don't have the original right of the code. It's 100% derived work and thus has to preserve GPL license, even if you rewrite every single line.

show 1 reply
joncptoday at 12:48 AM

Nice work!

I do wonder, however, whether people really have issues with perf on any terminal emulator in 2026

I’ve been living in Terminal.app / zsh / tmux / vim for 15 years and have never once thought “this is slower than I want.”

show 5 replies
mellosoulstoday at 1:22 AM

Going by the childish naming of the project, it doesn't inspire confidence in the professionalism of the author going forward, and neither will it help with getting it installed on corporate networks.

I'm all for vulgar wit but this isn't that (yes I'm aware of the -tty convention) & just reinforces the cliche of tech skills inversely proportional to social ones

show 6 replies
tulio_ribeirotoday at 12:40 AM

This is obligatory read: https://blog.royalsloth.eu/posts/it-takes-a-phd-to-develop-t...

Later, Microsoft fixes the issue but fails to give Muratori credit. After backlash, they went back and gave him a footnote: https://devblogs.microsoft.com/commandline/windows-terminal-... (atlas release section)

GitHub thread in question: https://github.com/microsoft/terminal/issues/10362#issuecomm...

And this gem: https://github.com/microsoft/terminal/issues/10362#issuecomm...

show 2 replies
egeuvuvy6today at 1:27 AM

What's the boot time for shitty?

I can't use half of the terminal emulators because theyre so slow that after hitting my key bind to open them and I start typing half of the first word is missing.

show 1 reply
Barbingyesterday at 11:51 PM

Unironically better name than “CRM“ for a CRM https://news.ycombinator.com/item?id=49142360

With this you can DuckDuckKagi for the crappy terminal (versus “CRM crm”… ah guess they wanted you to remember their company name)

show 1 reply
butterisgoodtoday at 12:43 AM

Best named project I've seen this year!

show 1 reply
chamomealtoday at 12:39 AM

I will def try this out and I absolutely love the name. Just an A++ name

show 1 reply
theturtletalkstoday at 12:30 AM

Any plans for a "libghostty" alternative for your terminal?

show 1 reply
eliteplebtoday at 2:00 AM

excited to see a work of zutty lineage, it's a massively underrated terminal, but please clank something meaner and leaner that an agent can manage to get built in less than 128k tokens, x11 would be appreciated too

beareadtoday at 12:41 AM

I prefer Ghostty as there is no this "Claude" thing in its contributors. But I guess it's always good to have competitions.

show 2 replies
quotemstrtoday at 1:20 AM

Excellent use of Ragel to generate fast state machines. Everyone should check it out: https://www.colm.net/open-source/ragel/

The author of shitty encoded the whole terminal state machine in Ragel: https://github.com/pg83/shitty/blob/master/parser.rl

The thing generates one of big DFA with actions for everything that can ever happen in the terminal. Precisely correct way to do it. Plus, Ragel is a joy to program once you get the hang of it. You can compose edge-triggered, level-triggered, and recursive operators in surprisingly elegant ways.

show 1 reply
grg0today at 1:11 AM

Why are you using pthread instead of std::thread?

show 2 replies
Null-Settoday at 3:00 AM

Is the memory-unsafe descriptor just saying it wasn't written in rust? Or does it specifically do some UB stuff which happens to work out so far?

jmyeettoday at 1:03 AM

Two mild criticisms:

1. Don't call your project "shitty". At best it's juvenile humor. At worst, it's going to make adoption within companies difficult for literally no reason; and

2. You don't need a two letter command. I'm sorry but you're not that special. Your tool should instead denote its purpose with its name. In this case something like "sterm" or "stty" would do that perfectly without being verbose.

show 3 replies
ddlsmurftoday at 12:40 AM

why no iTerm2 in the benchmarks ? It far outperforms the likes of kitty and ghostty

show 3 replies
normie3000today at 12:02 AM

Why wouldn't you use this?

show 5 replies
fishgoesblubtoday at 1:19 AM

> Shitty is moving from the imported GPL baseline to an MIT-only codebase. It does not intend to retain the GPL as the final project license.

An interesting, and disappointing choice. Shitty, one may say.

show 1 reply
protocolturetoday at 1:31 AM

Project seems too good to be squatting on that name. I imagined some joke terminal when I first saw it.

myshapeprotocoltoday at 12:56 AM

[flagged]

h0mietoday at 12:25 AM

[dead]

JSR_FDEDyesterday at 11:58 PM

[flagged]

show 1 reply