From a6f5e68ffd872e87dc907016a9b89fc173b24426 Mon Sep 17 00:00:00 2001 From: romkatv Date: Sat, 2 Mar 2019 19:28:29 +0100 Subject: [PATCH] add wsl benchmarks --- README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/README.md b/README.md index 88bbe874..ddb28926 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,31 @@ POWERLEVEL9K_VCS_STATUS_COMMAND=gitstatus_query_dir function custom_rprompt() echo -E "hello world" ``` +For completeness, here's the same benchmark for Windows Subsystem for Linux (WSL) with +zsh running in the standard Command Prompt (`cmd.exe`). + + +| Theme | / | ~/testrepo | ~/nerd-fonts | ~/linux | +|----------------------------------|----------:|-----------:|-------------:|------------:| +| powerlevel9k/master | 313 ms | 531 ms | 693 ms | 5898 ms | +| powerlevel9k/next | 119 ms | 278 ms | 442 ms | 5710 ms | +| powerlevel10k | 66 ms | 237 ms | 399 ms | 5569 ms | +| **powerlevel10k with gitstatus** | **22 ms** | **30 ms** | **30 ms** | **5098 ms** | +| naked zsh | 16 ms | 16 ms | 16 ms | 16 ms | + +Here Powerlevel10k with [gitstatus](https://github.com/romkatv/gitstatus) has even bigger +advantage over Powerlevel9k and manages to render prompt with low latency. + +However, every theme failed miserably on the humongous Linux kernel repo, showing prompt latency +over 5 seconds. This might be related to some sort of system cache, which can fit indices of +smaller repos but of Linux kernel. To work around this problem, you can instruct +[gitstatus](https://github.com/romkatv/gitstatus) to not scan dirty files on repos with over 4k +files in the index (see `GITSTATUS_DIRTY_MAX_INDEX_SIZE` in +[gitstatus docs](https://github.com/romkatv/gitstatus). Linux kernel is the only repo in these +benchmarks that is affected by this setting. Its prompt latency goes down to 32 ms. The prompt no +longer shows whether there are dirty (unstaged or untracked) files but it does indicate with the +color that there _might_ be such files. + ## What's the catch? Really, there is no catch. It's literally the same prompt with the same flexibility