Size & performance

How big tinyclient is next to the official apps, what it uses while it runs, and how each number was taken.

App size on disk

macOS, measured 2026-10-14 with du -sh on each .app as installed by its vendor’s official macOS installer.
AppSize on disk
Microsoft Teams1.1 GB
Signal625 MB
Slack554 MB
Discord481 MB
Telegram346 MB
The five togetherabout 3.1 GB
tinyclient, all five networks55 MB

Method: install each app from its vendor’s official macOS installer, then run du -sh on the .app bundle. Slack and Telegram ship universal binaries (Apple silicon and Intel in one app); tinyclient’s figure is its Apple silicon build, tinyclient.app from the release zip. The Apple silicon Slack disk image measured the same day is 323 MB; the 554 MB row is the universal build.

Memory while running

One reading, all six signed in with a window open, on this Mac: Apple M3 Pro, 18 GB of RAM, macOS 26.7.1 (25G241), 14 October 2026. tinyclient is 0.2.0, up 21 minutes. Slack and Discord had been open about 40 minutes. Teams had been up 6 hours, Signal 11 hours. During the CPU minute Teams used 10% of a core, so that app was not idle.

Physical footprint is the sum of phys_footprint from footprint, which is the number Activity Monitor calls Memory. Resident is the sum of ps -o rss. CPU is the sum of CPU time over the next 60 seconds, as a percent of one core.
AppProcessesFootprintResidentCPU
Microsoft Teams141,775 MB374 MB10%
Slack 4.52.1787824 MB370 MB0.4%
Discord 0.0.4157627 MB370 MB3.7%
Signal 8.30.06612 MB225 MB4.6%
Telegram 13.01129 MB90 MB0.4%
The five together353.9 GB1.4 GB19%
tinyclient 0.2.0, all five networks291 MB57 MB0.2%

Of tinyclient’s 91 MB, the window was 69 MB and chatd was 22 MB. Teams’ footprint is one WebView renderer at 1,196 MB plus helpers. Most of Teams, Slack, Signal and Discord is compressed: 1,649 MB, 693 MB, 524 MB and 493 MB. The Teams audio driver is in the resident column and not in the footprint, because footprint could not read it. An earlier reading the same evening, of tinyclient 0.1.0, was 42 MB resident. 0.2.0 is the latest release, and it is the build in this table.

Four programs, each only when needed

chatd signed in to Discord and the window, measured on macOS on 2026-10-13. mediad in an end-to-end encrypted call against a local test voice server (crates/mediad/tests/voice.rs).
ProcessRunsMeasuredBudget
chatdAlways, in the background10 MB RSS20 MB idle on Discord, Slack and Teams
tinyclientWhile the window is open64 MB RSS80 MB footprint with a list on screen
mediadDuring a call only< 40 MB RSS40 MB in a voice call; asserted by a test
tinyclient-loginDuring a sign-in onlyn/aExits with the sign-in

The target for the whole product, idle and signed in to four networks, is 150 MB. Voice runs in mediad, which starts when a call connects and exits when it ends, so no audio code is loaded the rest of the time. The sign-in window is its own process and exits when you are in.

Budgets

Every feature has a memory, speed and idle-CPU budget, measured from outside the process. The full list and how each is measured: 07-budgets-and-risk.md. Binary sizes per program are on Architecture.

Edit this page on GitHub