Powerlevel10k: Explain what and how powerlevel10k is faster

Created on 6 Mar 2019  路  8Comments  路  Source: romkatv/powerlevel10k

In your README you make the claim that powerlevel10k is faster and show some benchmarks, what isn't clear is what you do to make it faster. What are your plans to keep this updated in the future with new powerlevel9k features?

Most helpful comment

Fair enough. I'll write something.

All 8 comments

In your README you make the claim that powerlevel10k is faster...

It is though, isn't it? Especially after the latest changes that I've submitted today.

... and show some benchmarks

I also described the methodology and open-sourced the benchmarking tool. Anyone can perform the same measurements.

... what isn't clear is what you do to make it faster

Lots of things. Some big, like having a daemon implemented in C++. Some small, like not iterating over segments when looking for joints since the join flags can be precomputed on startup. I also implemented async support that is faster than what anyone is using because I bypass workers and zpty. You can read the code if you are curious.

What are your plans to keep this updated in the future with new powerlevel9k features?

I'm pulling updates periodically. Once they break away with backward compatibility (I think they intend to with the next release), I'll probably stop pulling. Breaking user configs without a good reason isn't nice. FWIW, pulling updates isn't easy because I rewrote most of the code.

All you do is post benchmarks and a script. That is great I can reproduce those benchmarks if I want. What I'm looking for is for you to have a sentence or a paragraph explaining what code changes you made that lead to this speedup. Just a quick summary. The commnets about will you be updating to powerlevel9k and stuff is something else I was trying to imply should be a section in the readme. The point was to help you make some improvements for new users like me coming to the project. Things I was hoping to see personally.

Fair enough. I'll write something.

I posted a summary of the latest performance improvements at https://www.reddit.com/r/zsh/comments/azuzcq/additional_4x_git_prompt_speedup_in_powerlevel10k/. Is this useful to you? I'm not sure if the zsh community is into this sort of thing.

Post about dynamic prompt behavior via parameter expansions: https://www.reddit.com/r/zsh/comments/b1xxuj/abusing_zsh_parameter_expansion_for_fun_and/.

Promo on /r/linux: https://www.reddit.com/r/linux/comments/b0suyu/powerlevel10k_the_fastest_zsh_theme_with_git_in/.

When I get bored, I'll pull info from these posts into a document. For now I'll just accumulate links here to have them available in the future.

https://github.com/romkatv/gitstatus now has extensive documentation explaining why it's 10 times faster than git.

@romkatv Thank you, feel free to close this if you are done with the issue.

OK, closing then. I do get bothered by open issues. One fewer makes me sleep better.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

rpathak38 picture rpathak38  路  4Comments

lucascosti picture lucascosti  路  5Comments

Mystic8b picture Mystic8b  路  4Comments

gigglearrows picture gigglearrows  路  4Comments

fedemengo picture fedemengo  路  7Comments