Files
l0ng-ai 22e1ab1694 tty7: a GPU-rendered, daemon-backed terminal in pure Rust
tty7 is split into two Rust processes: a persistent daemon that owns the
shells and a GPU-rendered client that talks to it over a local socket.
Because the shells live in the daemon, quitting and reopening the app
leaves the session intact — detach and reattach, no tmux required.

- Persistent sessions — the daemon holds the PTYs and child processes, so
  closing a window or swapping in a new build never takes a shell down.
- Performance — an 11 MB `cat` completes in 95 ms and DOOM-fire renders at
  888 fps; the daemon drains the PTY at device speed off the render path.
- Shell-aware — new tabs and splits open in the current working directory;
  zsh, bash, fish, and PowerShell are set up automatically.
- Enhanced prompt — inline completion, syntax highlighting, history, and
  in-terminal search, with rich flag/subcommand signatures for common tools.
- Tabs, resizable splits, a command palette, click-to-open links, desktop
  notifications, eight themes, and CJK/IME input.

Native builds for macOS, Windows, and Linux.
Built on Zed's gpui and Alacritty's VT core.
2026-07-06 21:54:27 +08:00

28 lines
806 B
Bash
Executable File

#!/bin/zsh
# Plaintext-IO benchmark. Runs INSIDE the terminal under test as its shell
# (run_one.sh arranges that); $1 names the terminal for the result file.
#
# Methodology (moktavizen/terminal-benchmark): `time cat` an 11 MB text file,
# 5 runs. Timed with zsh's EPOCHREALTIME instead of `time` so the driver can
# collect results from a file instead of reading the screen.
zmodload zsh/datetime
SELF=${0:A}
HERE=${SELF:h}
REPO=${HERE:h:h}
WORK=${TTY7_BENCH_DIR:-$REPO/.bench}
T=${1:-unknown}
R=$WORK/results
mkdir -p $R
out=$R/io-$T.txt
: > $out
print -- "grid: $(stty size 2>/dev/null)" >> $out
sleep 1
for i in 1 2 3 4 5; do
t0=$EPOCHREALTIME
command cat $WORK/shakespeare.txt
t1=$EPOCHREALTIME
printf 'run %d: %.0f ms\n' $i $(( (t1 - t0) * 1000 )) >> $out
done
print -- done >> $out
sleep 5