Ein in TSX geschriebener Client, direkt neben Rust
In NSH ist nur der Code deiner App JS. Der reaktive Graph, der Renderer, das Layout und jedes Modul sind Rust. TSX- und Rust-Apps teilen sich dieselbe native Ausführungspipeline.
- 120 FPS
- 22 Live-Sparklines, ein Orderbuch und ein Tape werden gemeinsam aktualisiert, Frame p95 unter 4 ms
- ~0.1 ms
- Engine-Start (75–155 µs)
- ~1 ms
- Erster Frame einer Counter-App
- ~0.12 ms
- Ein Tap, vom Event bis zum Commit
- < 1 KB
- App-Code eines Hello World
- ~1.1 MB
- Download einer TSX-App im Web (Wasm-Runtime)
Gemessene kleine Apps: wenige MB über dem nackten Systemfenster | TSX | Rust | Nacktes Systemfenster |
|---|
| Speicherbedarf, macOS | ~20 MB | ~19 MB | ~17 MB |
|---|
| Private Dirty Memory, Linux (GTK, GL) | ~48 MB | ~44 MB | ~38 MB |
|---|
| Über dem Systemfenster, macOS / Linux | +3 / +9 MB | +2 / +5 MB | |
|---|
| Private Working Set, Windows | ~15 MB | ~14 MB | |
|---|
Größe je Plattform: Hello World von nsh init | TSX-Executable | TSX-Paket | Rust-Executable | Rust-Paket |
|---|
| macOS (Apple silicon) | 19.8 MB | 9.5 MB | 12.4 MB | 6.0 MB |
|---|
| Linux (x86_64) | 25.7 MB | 11.6 MB | 16.5 MB | 7.5 MB |
|---|
| Windows (x86_64) | 28.6 MB | 12.4 MB | 15.0 MB | 6.7 MB |
|---|
| Web | — | ~1.1 MB Download | — | — |
|---|
Release-Builds. Speicher im Ruhezustand: macOS-Footprint auf einem Apple M3 (die Counter-App und das Rust-Template bei 1200 × 800; das Systemfenster enthält ein Label bei 480 × 640); Linux Private Dirty Memory auf einer NVIDIA RTX 3060 Ti (die TSX- und Rust-Templates von nsh init und ein GTK-Fenster mit einem Label, alle bei 480 × 640); Windows Private Working Set. Die Messgröße jeder Plattform, mit RSS und USS, steht im Bericht. Größen: Release-Builds von nsh package, mit Link-Time-Optimization und gestrippt; das TSX-Executable enthält die QuickJS-Runtime, der App-Code ist kleiner als 1 KB; das Paket ist die gezippte .app auf macOS, das .tar.gz auf Linux und das .zip auf Windows; im Web das, was der Browser herunterlädt, Runtime und App. Der vollständige Performance-Bericht