Repository navigation
t-code v0.1.1
t-code 0.1.1
A performance release: about 8 times less memory than 0.1 and almost no CPU while idle.
Measured on Fedora 44 with 25 C files open, after clangd finished indexing:
| 0.1 | 0.1.1 | |
|---|---|---|
| Memory in all, one tab looked at | 2239 MB | 275 MB |
| Memory in all, all 25 tabs opened | 2254 MB | 942 MB |
| clangd | 1718 MB | 208 MB |
| CPU while idle (one core) | 120% | under 3% |
In a normal desktop session with 25 tabs, 0.1.1 used 232 MB and 0.3% CPU while idle. See the
Performance section of the README for the details and how to measure it yourself.
Changes
- Editors start when their tab is first shown, so a restored session with many tabs runs only
the visible editors. - clangd runs with two malloc arenas: it held 1.5 GB or more while using 130 MB itself.
- Idle editors no longer redraw 30 times a second. Hidden editors write nothing, and t-code does
the autosave for the files that changed. - The Markdown preview's network process (about 60 MB) exits with the last preview.
- Starting t-code no longer flashes clipboard windows in GNOME's dock and no longer clears the
clipboard.
Tests and tools
- New tests for the shared language server: request routing, diagnostics, closing documents,
idle shutdown, and 400 editors connecting and disconnecting with a heap growth check. make test-asanruns the tests under AddressSanitizer and fails on any leak.- The package tests check that 5 opened files start only 1 editor and that clangd has the
arena limit. tools/has scripts that measure memory and CPU:proc-report.sh,headless.sh,
clangd-mem.pyandmicro-redraws.py.
Install
sudo dnf install ./t-code-0.1.1-1.fc44.x86_64.rpm # Fedora 44
sudo pacman -U t-code-0.1.1-1-x86_64.pkg.tar.zst # Arch Linux
sudo apt install ./t-code_0.1.1-1_amd64.deb # Debian 13Upgrading from 0.1 works with the same commands.
Void Linux (added later)
Packages for Void Linux, glibc and musl. xbps installs from a repository, so index the
downloaded file first (use the x86_64-musl file on musl):
xbps-rindex -a t-code-0.1.1_1.x86_64.xbps
sudo xbps-install --repository="$PWD" t-codeVoid has no Cascadia Code package; t-code uses the system's monospace font (any font can be
picked in Settings). These packages were built and tested in Void containers, not on a real
Void installation. They include two small portability fixes for musl that came after the
v0.1.1 tag (see the commit on main).
SHA256SUMS has the checksums of all five packages.
Full Changelog: v0.1...v0.1.1