Skip to content

Perf/optimizations - #1

Merged
cesp99 merged 19 commits into
mainfrom
perf/optimizations
Aug 20, 2026
Merged

Perf/optimizations#1
cesp99 merged 19 commits into
mainfrom
perf/optimizations

Conversation

@cesp99

Copy link
Copy Markdown
Owner

Summary

Cuts the native library from 41 MB to 23.5 MB per ABI (−43%; arm64 APK 37 → 10.6 MB) and removes the
main runtime hot-spots: per-keystroke JNI window re-marshaling, whole-subtree recompositions, always-on
background polling, and redundant git runs under proot. Also adds a committed baseline profile so cold
start runs AOT-compiled code.

Type of change

  • Bug fix
  • New feature
  • Performance improvement
  • Refactor / cleanup
  • Documentation
  • Build / CI
  • Other

Architecture & conventions checklist

  • Editor logic stays in Rust (core/); UI/platform stays in Kotlin (app/)
  • No Android types leaked into Rust, no editor logic in Kotlin
  • If the JNI boundary changed, both core/crates/jni-bridge/src/lib.rs and app/…/core/CoreBridge.kt were updated together
  • No blocking calls on the main thread; no per-keystroke JNI chatter
  • No telemetry, analytics, or network calls the user didn't ask for
  • Interactive features ship touch and keyboard and mouse support
  • docs/SHORTCUTS.md updated if new shortcuts/commands were added
  • No private info (personal emails, keys, machine paths) in committed files
  • Code copied/adapted from elsewhere is GPL-3.0-compatible and attributed

Edition impact

  • full (Debian userland, apt, F-Droid/direct APK)
  • play (Play-compatible, no userland)
  • Both equally
  • Neither (docs / tooling only)

Testing

  • ./gradlew assembleFullDebug assemblePlayDebug
  • cd core && cargo test
  • cd core && cargo clippy
  • Tested on a real device (specify model / form factor below)
  • Tested on the foldable emulator (tools/fold-emulator.sh)

Device tested on (if applicable):

Samsung Galaxy Fold 8 Ultra (outer and inner screen)

Notes: engine suite is 271 tests (new coverage for the window cache, cached HEAD/branch reads, and ACP
version counters). cargo clippy exits clean; three warning sites remain in project.rs/highlight.rs
that pre-exist on main. One pre-existing LSP-budget test flakes under full parallel load only.
Baseline profile was generated on a headless Gradle-managed device (pixel6Api36), not the foldable
emulator. Behavior notes for review: panic = "abort" now ends the process on an engine panic (logcat
message first), and gpui's image/SVG decoding is behind an off-by-default feature (Compose does all real
media rendering).

Screenshots / recordings

No visual changes, title bar (branch + drift arrows), terminal theming, and editor rendering are
pixel-identical by design.

Related issues

none

cesp99and others added 19 commits August 20, 2026 22:03
Co-Authored-By: Spettro <spettro@eyed.to>
Co-Authored-By: Spettro <spettro@eyed.to>
Co-Authored-By: Spettro <spettro@eyed.to>
…nker
Co-Authored-By: Spettro <spettro@eyed.to>
Co-Authored-By: Spettro <spettro@eyed.to>
Co-Authored-By: Spettro <spettro@eyed.to>
Co-Authored-By: Spettro <spettro@eyed.to>
Co-Authored-By: Spettro <spettro@eyed.to>
Co-Authored-By: Spettro <spettro@eyed.to>
Co-Authored-By: Spettro <spettro@eyed.to>
Co-Authored-By: Spettro <spettro@eyed.to>
Co-Authored-By: Spettro <spettro@eyed.to>
Co-Authored-By: Spettro <spettro@eyed.to>
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@cesp99
cesp99 merged commit 5920399 into mainAug 20, 2026
5 of 6 checks passed
@cesp99
cesp99 deleted the perf/optimizations branch August 20, 2026 22:28
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@cesp99@github-advanced-security