An ordinary editor reads the whole file into memory and hopes it fits. The memory-maps the original and states plainly which mode it is in and what that mode switches off.
mechanics
Files from 100 MB open through memory-mapping: pages are faulted in on access, so opening costs almost no RAM and requires no full read from disk.
Jumping to a line and the cursor position are instant while the interface never blocks on counting: the index is built in parallel and its status is visible in the status bar.
The buffer is assembled from pieces rather than rewritten: inserting at the start of a several-hundred-megabyte file costs the same as at the end. Undo is snapshot-based.
modes
The mode is chosen by file size and shown in the status bar. This is the key difference from “sudden slowdowns”: behaviour is predictable and the limits are named out loud.
mode 01
Ordinary files. Everything on: highlighting, folding, project-wide search, git markers, language intelligence.
mode 02
Big logs and dumps. The file is memory-mapped and heavy whole-file passes are constrained.
mode 03
Gigabyte files. Work proceeds in slices: the editor deliberately disables anything that needs to walk the whole content.
placeholder
The exact switching thresholds and the list of features disabled in each mode must be confirmed against the 0.4.3 source before publication. The values above are a guide taken from project documentation, not a measurement.
data
| ts | shard | op | rows | ms | |
|---|---|---|---|---|---|
| 994,112 | 21:14:02.118 | 07 | flush | 2,048 | 18.4 |
| 994,113 | 21:14:02.140 | 08 | flush | 2,048 | 17.1 |
| 994,114 | 21:14:02.166 | 08 | queue | 8,412 | — |
| 994,115 | 21:14:02.201 | 03 | rebalance | 2,048 | 57.0 |
| 994,116 | 21:14:02.244 | 03 | checksum | 44,907 | 0.4 |
| 994,117 | 21:14:02.288 | 03 | retry | 44,907 | 42.6 |
| 994,118 | 21:14:02.301 | 03 | flush | 2,048 | 19.8 |
| 994,119 | 21:14:02.334 | 04 | flush | 2,048 | 16.9 |
one more thing
So saving is atomic: a crash or a power cut during a write will not leave a torn file. An open file is locked across processes, and if it changed on disk the editor tells you instead of silently overwriting it.