zsh-bench
fnm
zsh-bench | fnm | |
---|---|---|
24 | 62 | |
494 | 15,397 | |
- | - | |
4.1 | 6.7 | |
6 months ago | 13 days ago | |
Shell | Rust | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
zsh-bench
-
Oh My Zsh
Someone's made a benchmarking system for zsh: https://github.com/romkatv/zsh-bench#premade-configs
Of course, their config is the best according to the benchmark (and ohmyzsh is the slowest option), but DIY configs are also covered, particularly possible performance optimizations.
-
Faster Shell Startup with Shell Switching
Unfortunately, running exit is not a great strategy for running benchmarks. For zsh specifically, plugin managers are optimized for fast exit.
romkatv did a great write-up and benchmark within the context of zsh[0]. It's a great read.
[0] https://github.com/romkatv/zsh-bench#how-not-to-benchmark
- Dynamic Aliases and Functions in Zsh
- Benchmark for interactive zsh – plugins, frameworks and plugin managers
- zsh-smartcache: another evalcache but can update the cache
-
Announcing Spaceship v4.0 — a customizable Zsh prompt with asynchronous rendering
Given the addition of async rendering in the latest release of spaceship, I wasn't sure whether I should include performance in the list of features found in powerlevel10kbut but not in spaceship. I used zsh-bench to benchmark powerlevel10k on my laptop running on battery (I'm writing this on a train) with a config that makes powerlevel10k looks similar to spaceship. I simply ran p10k configure and chose what looked most similar: Lean Style, UNICODE, 256 colors, two lines, etc. Here are the benchmark results:
-
7x slowdown when modify $fpath and add completion script
Obligatory link since you are engaging in profiling interactive zsh: https://github.com/romkatv/zsh-bench.
-
What is the best plugin manager in your opinion?
1.) It's fast. Like, really fast. 1.) It supports deferred loading via zsh-defer 1.) It supports local plugins as well as ones hosted via a git provider (aka: GitHub, GitLab, BitBucket, etc) 1.) The codebase is simple and easy to understand and contribute to 1.) It supports git branches (with tag/shas on the roadmap) 1.) It supports partial plugin loading such as loading Oh-My-Zsh plugins and Prezto modules without loading the whole framework. 1.) There's an easy migration path from legacy plugin managers like Antigen/Antibody. 1.) Plugins are managed via a simple plugins file that makes it easy to share your config with others. 1.) And lots more
-
Zsh significantly faster when sourced from bash with bash as default shell
In any case, slow zsh startup is always caused by whatever you put in zsh startup files and it's always possible to reduce zsh startup to imperceptible levels without sacrificing any functionality by editing said startup files. There is a bit of info on interactive zsh performance at https://github.com/romkatv/zsh-bench.
-
Zpy is a simple zsh plugin manager written in python that don't add to the shell startup time.what to y'all think?
Why is this a good thing? Is this a proxy for performance? If so, you can measure performance directly with zsh-bench. This way you can describe the advantage in terms that have real value to end users. For example, you can say that the first prompt appears N milliseconds faster when using Zpy than if you were using something-else.
fnm
-
How to beautify java code reliably
Install nodejs: (I highly recommend using a node version manager like fnm) and to install a recent node version (current long term support is 16+)
-
Effective nodejs version management for the busy developer
I highly recommend setting up nodejs with a version manager, nvm was and still is a popular option, however, I now recommend and have been using fnm, a simpler and faster alternative to manage my nodejs versions.
-
Oh My Zsh
I switched from nvm to fnm a few years ago and have never looked back. Zero performance issues and it supports .nvmrc files.
https://github.com/Schniz/fnm
-
Cannot Create Next App On Windows
Are you using some kind of node version manager like fnm?
-
Pyright slows down my terminal, trying to speed it up, am using Lazyvim
If it's your terminal that's slow in general and not neovim specifically I found that switching from nvm to fnm for managing node significantly faster at starting up my shell. I don't know whether this is what your issue is but I thought I'd share it regardless. https://github.com/Schniz/fnm
-
Everything I Installed on My New Mac
fnm is a fast and simple Node.js version manager. It's really easy to use and is much faster than nvm.
-
Report on platform-compliance for cargo directories
As a macOS user, it boils my brain whenever I've to type in something like ~/Library/Application Support/org.rust-lang.Cargo/config.toml. macOS users have been begging CLI tools to support XDG variables on macOS too. Setting defaults is a strong indication to the community what should be the "preferred" locations. The defaults defined in your article will invariably lead to some authors saying that if that path is good enough for cargo, then it is good enough for their tool. Even the latest draft RFC acknowledges that macOS should use XDG variables too. I've written more about this here.
-
Any plans to update Pop base?
Install something like Fast Node Manager from https://github.com/Schniz/fnm and install your Node from there. I work in the software field and tend to use the LTS releases for the TypeScript/React projects I work on.
-
Comparing the Best Node.js Version Managers: nvm, Volta, and asdf
fnm!
-
Building a modern gRPC-powered microservice using Node.js, Typescript, and Connect
You’ll need pnpm and Node.js installed on your machine + some tool for switching node versions (e.g. fnm or nvm will work fine);
What are some alternatives?
fisher - A plugin manager for Fish
nvm - Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
zinit - 🌻 Flexible and fast ZSH plugin manager
volta - Volta: JS Toolchains as Code. âš¡
sheldon - :bowtie: Fast, configurable, shell plugin manager
nvm for Windows - A node.js version management utility for Windows. Ironically written in Go.
powerlevel10k - A Zsh theme
n - Node version management
zsh4humans - A turnkey configuration for Zsh
asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
oh-my-fish - The Fish Shell Framework
nodenv - Manage multiple NodeJS versions.