From 29fbd3a0dc3d40448785e2f16e33692b67e44eb8 Mon Sep 17 00:00:00 2001 From: tanglearncode Date: Wed, 21 Oct 2026 12:52:02 +0800 Subject: [PATCH 1/2] Compare the native build with the Electron build in the README Adds a table of download and install size, startup time, CPU, memory, processes, threads and handles for the v0.20.0 native release against the official Electron build, with how the figures were measured. --- README.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/README.md b/README.md index 0497d83..75fea68 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,36 @@ executable runs without Chromium, WebView2 or Node.js. Download a build from the [releases](../../releases) page. +## Compared with the Electron build + +MarkText v0.20.0 native release against the official Electron build +(`marktext-win-x64-0.20.0`): + +| Metric | Electron | Native | Change | +|---|---:|---:|---:| +| Download (ZIP) | 176.0 MB | 91.4 MB | 48% smaller | +| Installed folder | 458.7 MB | 285.2 MB | 38% smaller | +| Files on disk | 108 | 23 | 79% fewer | +| Time to window | 782 ms | 161 ms | 4.9× faster | +| Time to open a document | 1,399 ms | 1,000 ms | 29% faster | +| CPU time to start | 2.92 s | 0.84 s | 71% less | +| CPU when idle | 0.23% | 0.00% | 100% less | +| Processes | 5 | 1 | 80% fewer | +| Memory (working set) | 451.1 MB | 280.2 MB | 38% less | +| Memory (private bytes) | 285.9 MB | 208.2 MB | 27% less | +| Threads | 111 | 8 | 93% fewer | +| Handles | 2,194 | 227 | 90% fewer | + +The native build also ships as a single `.exe` that runs on its own, while +the Electron build needs its whole folder. + +Measured on Windows 10 22H2 with an Intel Core i7-8750H and 8 GB of RAM, +opening a short Markdown file. Each figure is the median of three runs. +Memory, threads and handles are summed over all of the app's processes, +15 seconds after the document opened; idle CPU is averaged over the next +10 seconds. Both ZIPs were made with `Compress-Archive`, as the release +workflow does. MB means 1,048,576 bytes. + ## How it is built The [Build native MarkText](.github/workflows/build.yml) workflow: From e38aa10347ae23ba0a5252a81a918cd222962925 Mon Sep 17 00:00:00 2001 From: tanglearncode Date: Wed, 21 Oct 2026 13:04:51 +0800 Subject: [PATCH 2/2] Update README.md --- README.md | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/README.md b/README.md index 75fea68..339911c 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,7 @@ Measured on Windows 10 22H2 with an Intel Core i7-8750H and 8 GB of RAM, opening a short Markdown file. Each figure is the median of three runs. Memory, threads and handles are summed over all of the app's processes, 15 seconds after the document opened; idle CPU is averaged over the next -10 seconds. Both ZIPs were made with `Compress-Archive`, as the release -workflow does. MB means 1,048,576 bytes. +10 seconds. ## How it is built @@ -48,13 +47,3 @@ The [Build native MarkText](.github/workflows/build.yml) workflow: [NativeBoat Build action](https://github.com/XTSoftwareLabs/nativeboat-action), 4. uploads the executable, a ZIP of the full output folder and `SHA256SUMS.txt` as a workflow artifact. - -It runs on pushes to `main` and on pull requests, and publishes nothing. - -## Releasing - -Run the [Release native MarkText](.github/workflows/release.yml) workflow from -the Actions tab. Set `marktext-ref` to the MarkText tag to build and -`nativeboat-version` to a NativeBoat release tag or `latest`. It runs the build -above, then publishes its files to a release named after the MarkText tag. -Running it again for the same tag replaces that release's files.