Skip to content
This repository has been archived by the owner on Apr 1, 2020. It is now read-only.

Test - Performance: Benchmark Normal-Mode Responsiveness #459

Open
bryphe opened this issue May 22, 2017 · 0 comments
Open

Test - Performance: Benchmark Normal-Mode Responsiveness #459

bryphe opened this issue May 22, 2017 · 0 comments

Comments

@bryphe
Copy link
Member

bryphe commented May 22, 2017

One of the explicit goals of Oni is performance. There have been one-off pushes to improve performance (startup time, responsiveness), and of course there is still significant work to be done to be able to claim we've reached the goal and are on-par with what a Vim user would expect in terms of interaction fluidity.

Performance, though, needs to be carefully monitored as there can be non-obvious code changes that can directly impact performance & responsiveness. This is especially true in the web world, where a wrong CSS style can suddenly dramatically impact the layout and paint.

The first step is to be able to measure and be able to report over time - catching any performance regressions before they make it into a release. To that end, this issue tracks creating a new command - npm run benchmark and exercising the following scenarios:

  • Start-up time (cold & hot)
  • Normal mode: Simple normal mode navigation (alternate j and k key presses)
  • Normal mode: Simple navigation on same line (alternate h and l key presses)
  • Normal mode: Simple scroll case (j at bottom of file)
  • Normal mode: Jump to top / jump to bottom (alternating gg and G)
  • Insert mode: Typing latency - time between key press and seeing change on screen

This should be output to the console and optionally reported as a JSON file. This can be used to compare Oni's performance build-over-build and ensure we are only moving forward towards our performance goals.

@bryphe bryphe added this to the 0.4 milestone May 22, 2017
@bryphe bryphe changed the title Test - Performance: Benchmark Responsiveness Test - Performance: Benchmark Normal-Mode Responsiveness Nov 26, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant