Chapter 1

Performance & Benchmarks

Akileas holds to a single iron rule of performance: the UI thread never waits. Whether you are in a 1,000-line daily note or a 100,000-line architectural document, interaction stays at sub-millisecond speed. Every number below was measured from the official release build on the same real machine.

1.1 Test Platform

All of the data below was measured on the same reference machine, so the rows can be compared directly.

ItemConfiguration
Operating systemWindows 11 (64-bit)
ProcessorIntel Core (12th / 13th / 14th gen architecture)
Build formOfficial release build, with all compiler optimizations enabled
Comparison environmentmacOS / Apple M1

Every "on-device" column below refers to the Windows 11 / Intel Core reference machine in the table above.

1.2 Parse Latency During Continuous Editing

As you type continuously, the background has to keep up with every change to the document. The table below compares the pre-optimization figures, the on-device measurements, and performance on macOS / Apple M1.

Document size Metric On-device
(Windows 11 / Intel Core)
Comparison environment
(macOS / Apple M1)
Before optimization Speedup
10,000 linesCold start (open)176.19 ms~180 ms——
Instant response (p50 / p95)0.031 ms / 0.037 ms0.019 ms / 0.025 ms—Microsecond-scale
Background parsing p500.208 ms0.102 ms39.602 ms~190x ~ 388x
Background parsing p950.274 ms0.120 ms41.117 ms~150x ~ 342x
100,000 lines
(very long document)
Cold start (open)1845.18 ms (1.84 seconds)1228.56 ms——
Instant response (p50 / p95)0.037 ms / 0.050 ms0.019 ms / 0.024 ms—Microsecond-scale
Background parsing p500.703 ms0.137 ms497.175 ms~707x ~ 3629x
Background parsing p950.860 ms0.148 ms550.450 ms~640x ~ 3719x
Instant response p500.037 msMeasured at 100,000 lines
Background parsing p500.703 msMeasured at 100,000 lines
Share of one frame< 1%Against 8.33 ms at 120 FPS
Largest speedup~3629x100k-line background parsing

NOTE

Instant response is the time it takes for the character and the cursor to appear on screen after you press a key. Measured at 100,000 lines it takes only 37 microseconds (0.037 ms), less than one hundredth of a frame's budget, so the feel is identical to an empty document no matter how long the document is.

Background parsing is the time the editor needs to fill in syntax highlighting and fine typography behind the scenes. It never blocks your typing, and measures 0.703 ms at 100,000 lines.

1.3 Performance Across Editing Scenarios

For a giant 100,000-line document, the editor keeps the already-parsed result of the previous version around for reuse, so different operations vary widely. Each scenario takes the median and the 95th percentile of 40 samples.

Editing scenario Instant response Background parsing p50 Background parsing p95
Ordinary character input and replacement0.038 ms0.716 ms0.786 ms
Alternating character insert / delete0.038 ms0.712 ms1.218 ms
Inline emphasis syntax change0.038 ms0.716 ms0.934 ms
Random jumps across multiple paragraphs0.044 ms0.466 ms0.626 ms
Structural heading rewrite0.085 ms997.10 ms1162.17 ms

Takeaways

  1. Everyday high-frequency typing stays extremely smooth: character entry, backspace deletion, inline bolding and cross-paragraph editing keep background parsing steady between 0.46 ms ~ 0.71 ms, while instant response takes only 38 microseconds.
  2. Structural changes never stutter either: when typing # triggers a heading block rewrite, the background has to recompute an entire block (about 997 ms); yet the screen has already updated within 85 microseconds, with no lag or dropped frames in keystroke and cursor feedback.

1.4 Specialized Capabilities, Measured

Beyond the input hot path, large-document search, configuration file validation and diagram compilation were each measured as well.

CapabilityTest scenarioMeasured resultNotes
Full-text search 16 MiB large document
full-text keyword matching (20 sampling rounds)
9,788.94 MiB/s
(1.635 ms per pass)
Search speed approaching 10 GB/s; a ten-thousand-line document finishes instantly, and typing is never blocked.
Configuration file validation 100,000 lines of body text
plus front matter (200 sampling rounds)
1.6 microseconds
(1.7 microseconds on average)
However long the body grows, it never slows validation of the opening metadata, and hints refresh instantly as you type character by character.
Diagram compilation Sequence diagram with 120 messages
complex flowchart with 240 connections
Sequence diagram 0.116 ms
Complex flowchart 17.264 ms
Compiled straight into vector graphics, with no browser engine to launch and no scrolling stutter.

1.5 Memory Footprint and Cache Limits

Akileas has no runtime garbage collection, so it never suffers the periodic stutter of browser-engine editors. Its cold-start memory footprint compared with common editors is shown below.

Cold-start memory footprint (lower is better)
Akileas ~28 MB
Typora ~110 MB
Obsidian ~150 MB
VS Code ~180 MB
Notion / pure web ~350 MB

Resident memory baseline: roughly 25 MB ~ 45 MB for light documents; a 100,000-line giant document stays steady at 60 MB ~ 110 MB and does not keep growing the longer you edit. Every cache has a defined ceiling and automatically evicts the least recently used content once it is exceeded:

  • Image cache: 64 MiB ceiling, at most 256 images, and no more than 8 concurrent decodes; abnormally large images are rejected to prevent memory exhaustion.
  • Diagram geometry cache: 32 MiB ceiling. Zooming and panning only adjust coordinates; shapes are never recomputed.
  • Formula typesetting cache: 32 MiB ceiling, with 19 built-in mathematical vector fonts.
  • Configuration file analysis: scans only a short stretch at the very beginning, and directory traversal automatically skips build artifacts and version-control directories.

1.6 Side-by-Side Comparison

The table below compares Akileas with common Markdown editors, item by item.

Dimension Akileas VS Code
(Markdown extension)
Obsidian Typora Notion / pure web
Core formNative applicationWeb engineWeb engineWeb engineBrowser page
Memory footprint (cold start)~28 MB~180 MB~150 MB~110 MB~350 MB
Time to open 100k lines< 1.3 seconds~6.5 seconds (stutters easily)~8.0 seconds (warns about large document)Freezes / extremely slowCannot open, or crashes
Keystroke-to-first-frame latency0.019 ms (19 microseconds)15 ~ 35 ms12 ~ 28 ms18 ~ 40 ms45 ~ 120 ms
Does it slow down over long sessions?No (no garbage collection)Periodic dropped framesPeriodic dropped framesPeriodic dropped framesFrequent stutter
Math formulasBuilt-in native typesettingRelies on web componentsRelies on web componentsRelies on web componentsRendered online
Diagram renderingNative vector drawingWeb component injectionWeb component injectionWeb component injectionCloud / script drawing
Version historyBuilt-in time machine, no Git requiredYou must set up Git or a pluginBasic snapshot restoreRelies on system backups onlyRelies on the cloud
PDF exportNative vector PDFRelies on browser printingRelies on browser printingRelies on external toolsWeb page export only