Documentation Index
Fetch the complete documentation index at: https://docs.monolex.ai/llms.txt
Use this file to discover all available pages before exploring further.
Performance Benefits
MonoTermβs Atomic State system dramatically reduces the amount of data processed for each terminal update.The Big Picture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β PERFORMANCE AT A GLANCE β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β β β
β β 99.95% β β
β β βββββββββββββββ β β
β β β β β β
β β β LESS β β β
β β β DATA β β β
β β β SENT β β β
β β β β β β
β β βββββββββββββββ β β
β β β β
β β When you type, MonoTerm sends 99.95% less data than β β
β β traditional terminals β β
β β β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Data Reduction Visualized
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β WHEN YOU TYPE ONE CHARACTER β
β β
β β
β BEFORE (Traditional): β
β β
β ####################################################################β
β ####################################################################β
β ####################################################################β
β ####################################################################β
β ####################################################################β
β β
β ~50 KB sent β
β (entire screen data) β
β β
β β
β AFTER (Smart Diff): β
β β
β # β
β β
β ~0.5 KB sent β
β (only changed line) β
β β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β 50 KB ββββββββββββββββββββββββββββββββββββββββββββ 0.5 KB β β
β β β β
β β 100x SMALLER β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
What Changes When You Type
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β TYPING "Hello" IN YOUR TERMINAL β
β β
β β
β Your terminal screen (40 rows): β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β 1: $ cd my-project β unchanged β
β β 2: $ npm install β unchanged β
β β 3: Done! β unchanged β
β β 4: $ vim file.txt β unchanged β
β β 5: β unchanged β
β β ... β unchanged β
β β 35: β unchanged β
β β 36: β unchanged β
β β 37: β unchanged β
β β 38: β unchanged β
β β 39: $ Hello_ β <- CHANGED!β
β β 40: β unchanged β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β β
β Traditional approach: "Send ALL 40 rows every keystroke" β
β -> 40 rows x 120 cols = 4,800 cells β
β -> ~50 KB per keystroke β
β β
β Smart Diff approach: "Only send row 39 (the changed one)" β
β -> 1 row x 120 cols = 120 cells β
β -> ~0.5 KB per keystroke β
β β
β β
β SMART DETECTION β
β β
β Only changed rows are detected and sent β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Three Modes of Operation
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β THREE MODES OF OPERATION β
β β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β MODE 1: FULL β β
β β β β
β β When: Major screen changes (opening vim, running ls) β β
β β β β
β β βββββββββββββββββββ β β
β β β#################β β β
β β β#################β All rows sent β β
β β β#################β Full refresh β β
β β β#################β β β
β β βββββββββββββββββββ β β
β β β β
β β Data: ~50 KB β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β MODE 2: PARTIAL (DiffHint) β β
β β β β
β β When: Small changes (typing, cursor movement) β β
β β β β
β β βββββββββββββββββββ β β
β β β.................β β β
β β β.................β Only changed rows β β
β β β#################β <- this row changed β β
β β β.................β β β
β β βββββββββββββββββββ β β
β β β β
β β Data: ~0.5 KB (99% less!) β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β MODE 3: NONE β β
β β β β
β β When: Only cursor position changed (blinking) β β
β β β β
β β βββββββββββββββββββ β β
β β β.................β β β
β β β.................β Nothing sent! β β
β β β.................β Just cursor update β β
β β β.................β β β
β β βββββββββββββββββββ β β
β β β β
β β Data: ~0.1 KB (99.9% less!) β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Real-World Scenarios
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β HOW MUCH DATA IS SAVED IN DIFFERENT SCENARIOS? β
β β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β SCENARIO 1: Writing code (typing) β β
β β β β
β β Traditional: #################################### 50 KB β β
β β MonoTerm: # 0.5 KB β β
β β β β
β β Savings: 99% β β
β β β β
β β For 1000 keystrokes: β β
β β Traditional: 50 MB β β
β β MonoTerm: 0.5 MB β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β SCENARIO 2: Cursor blinking (idle) β β
β β β β
β β Traditional: #################################### 50 KB β β
β β MonoTerm: . 0.1 KB β β
β β β β
β β Savings: 99.9% β β
β β β β
β β For 1 minute of blinking (~60 blinks): β β
β β Traditional: 3 MB β β
β β MonoTerm: 6 KB β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β SCENARIO 3: Running 'ls' (full screen update) β β
β β β β
β β Traditional: #################################### 50 KB β β
β β MonoTerm: #################################### 50 KB β β
β β β β
β β Savings: 0% (full updates are still full) β β
β β β β
β β BUT: This happens rarely compared to typing! β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Battery and Resource Impact
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β WHY LESS DATA = BETTER PERFORMANCE β
β β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
β β THE CHAIN REACTION β β
β β β β
β β β β
β β Less data sent β β
β β β β β
β β βΌ β β
β β Less processing needed β β
β β β β β
β β βΌ β β
β β Less GPU work (fewer pixels to redraw) β β
β β β β β
β β βΌ β β
β β Less battery used β β
β β β β β
β β βΌ β β
β β Cooler laptop β β
β β β β β
β β βΌ β β
β β Longer work sessions β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β β
β ββββββββββββββββββββββββββ ββββββββββββββββββββββββββ β
β β β β β β
β β TRADITIONAL β β MONOTERM β β
β β β β β β
β β Hot laptop β β Cool laptop β β
β β Battery drains β β Battery lasts β β
β β Fan spinning β β Fan quiet β β
β β β β β β
β ββββββββββββββββββββββββββ ββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Memory Efficiency
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β MEMORY ALLOCATION COMPARISON β
β β
β β
β Traditional: Creates new memory for EVERY update β
β βββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β Update 1: [####] allocate β
β Update 2: [####] allocate [....] garbage β
β Update 3: [####] allocate [....] garbage [....] garbage β
β Update 4: [####] allocate [....] garbage [....] garbage [....] gβ
β β
β β β
β Garbage Collector kicks in β
β β β
β PAUSE! β
β β
β β
β MonoTerm: Reuses memory when possible β
β βββββββββββββββββββββββββββββββββββββββββ β
β β
β Update 1: [####] allocate (FULL mode) β
β Update 2: [####] reuse <- same memory β
β Update 3: [####] reuse <- same memory β
β Update 4: [####] reuse <- same memory β
β β
β β β
β No garbage created! β
β β β
β SMOOTH! β
β β
β β
β Result: No GC pauses = smoother experience β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Summary Table
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β PERFORMANCE SUMMARY β
β β
β βββββββββββββββββββββ¬ββββββββββββββββββββ¬ββββββββββββββββββββ β
β β METRIC β TRADITIONAL β MONOTERM β β
β βββββββββββββββββββββΌββββββββββββββββββββΌββββββββββββββββββββ€ β
β β β β β β
β β Data per β ~50 KB β ~0.5 KB β β
β β keystroke β β (99% less) β β
β βββββββββββββββββββββΌββββββββββββββββββββΌββββββββββββββββββββ€ β
β β β β β β
β β Data per cursor β ~50 KB β ~0.1 KB β β
β β blink β β (99.9% less) β β
β βββββββββββββββββββββΌββββββββββββββββββββΌββββββββββββββββββββ€ β
β β β β β β
β β Memory β Every frame β Full mode only β β
β β allocation β β (reused) β β
β βββββββββββββββββββββΌββββββββββββββββββββΌββββββββββββββββββββ€ β
β β β β β β
β β GC pressure β HIGH β ELIMINATED β β
β β β β β β
β βββββββββββββββββββββΌββββββββββββββββββββΌββββββββββββββββββββ€ β
β β β β β β
β β Screen flicker β POSSIBLE β ELIMINATED β β
β β β β β β
β βββββββββββββββββββββΌββββββββββββββββββββΌββββββββββββββββββββ€ β
β β β β β β
β β Battery impact β HIGH β LOW β β
β β β β β β
β βββββββββββββββββββββ΄ββββββββββββββββββββ΄ββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
DiffHint Optimization
The DiffHint system (Full, Partial, None) intelligently selects the minimum data transfer needed for each update, achieving up to 99.95% reduction in data transfer.