Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
FREEDOM251

Freedom251 › Blog › AstroNvim

How Fast Can Neovim Start? A Fair Way to Benchmark Popular Distributions

By Freedom251 Team · · 5 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

There is no defensible “fastest Neovim distro” result here: comparable startup measurements for LazyVim, NvChad, AstroNvim, and a minimal configuration are not established. Neovim does provide a built-in startup trace, however, and you can use it to measure your own setup or design a fair comparison. The key is to define what “started” means and keep the machine, workload, cache state, and measurement method consistent.

What can—and cannot—be said about distro speed

Neovim’s documentation lists LazyVim, NvChad, and kickstart.nvim among popular configuration projects. It also says Neovim is not affiliated with or responsible for them, and recommends learning stock Neovim and adding settings incrementally over time. These are separate projects and configurations, not official performance tiers. Neovim’s introduction to its configuration ecosystem provides context, but not a speed ranking.

As an Amazon Associate I earn from qualifying purchases.

AstroNvim is another possible candidate for a comparison, but the available evidence does not establish a comparable startup result for it either. No measured figures are established here for LazyVim, NvChad, AstroNvim, or a minimal setup. A claim that one is fastest would require testing all of them under the same conditions.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What “startup time” measures depends on the endpoint

A startup number is only meaningful when the event being timed is clear. Possible endpoints include process launch, completion of Neovim’s startup trace, UI connection, or an editor that is visibly ready to use. These do not necessarily occur at the same time. A configuration may also feel different when opening a file than when launching into an empty buffer, so choose the workload that matches the question.

  • Empty launch: Measures the path to an editor without a representative file-opening task.
  • File-opening launch: Measures startup plus work involved in opening a specified file. Use the same file and conditions for each configuration.
  • Visible-ready launch: Measures when the interface is ready from the user’s perspective; specify how that state is detected.

Keep startup speed separate from feature completeness and setup cost. A distro can load functionality later, or require first-run installation or compilation. Those costs may matter to a reader, but they are not the same measurement as ordinary startup.

Measure Neovim startup with --startuptime

Neovim’s built-in --startuptime {fname} option writes timing messages to a file during startup. The trace can help identify time spent loading configuration and plugins, as well as opening the first file. Consult the official --startuptime documentation for the option’s behavior.

  1. Record the environment. Note the machine and CPU, operating system and version, terminal or UI, Neovim version, and power or performance state.
  2. Choose a workload and endpoint. Decide whether each run launches empty or opens the same representative file, and define the event at which timing stops.
  3. Run the trace. Launch Neovim with --startuptime and a trace filename, for example nvim --startuptime startup.log. For a file-opening workload, use the same file on every run, such as nvim --startuptime startup.log path/to/example.lua.
  4. Repeat under documented cache conditions. Say whether runs are cold or warm and how caches were reset or warmed. Keep the method consistent across configurations.
  5. Report the spread. Use repeated runs and summarize their variation rather than reporting only the best result. Keep the command, endpoint, and workload attached to the reported timings.

The exact endpoint represented by a trace should not be silently equated with a user-visible ready state. State what the chosen timing method captures.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use --clean only as a limited baseline

Neovim’s --clean option mimics a fresh install by skipping user initialization and excluding user directories from runtimepath. It can provide a baseline for Neovim without the user configuration, but it does not represent a distro running with its normal settings. Describe that narrower scope if you include it. See the official --clean documentation.

How lazy.nvim profiling differs from the built-in trace

If a configuration uses lazy.nvim, its project documents both :Lazy profile and require("lazy").stats(). The stats include time to UIEnter, plugin totals, loaded-plugin count, and timing data. The project distinguishes accurate process CPU-time reporting on Linux and macOS from a timestamp-delta estimate; it also notes that CPU time can be higher than nvim --startuptime. See the lazy.nvim usage documentation.

These tools report different timing information. Do not put a --startuptime value and a lazy.nvim UIEnter or CPU-time value into one ranking as if they measured the same endpoint. If both are useful, present them separately and identify the profiler, endpoint, and platform.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What distro documentation says about loading strategy

NvChad

NvChad’s plugin documentation says, “We lazy load almost 95% of the plugins,” and recommends lazy-loading plugins as an efficiency measure for reducing startup time. This is NvChad’s description of its plugin-loading design—not an independently measured startup result and not proof that it starts faster than another distribution. The statement is in the NvChad plugin documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

LazyVim

LazyVim documents an optional vim-startuptime extra configured with vim.g.startuptime_tries = 10. That setting describes the tool integration’s configured number of tries. It is not a published LazyVim startup result or a comparison with other distributions. See the LazyVim startup-time extra documentation.

Neovim’s plugin guidance

Neovim’s Lua plugin guide recommends --startuptime for examining a plugin’s effect on startup. It also describes deferring require calls and putting filetype-specific initialization in ftplugin/{filetype}.lua as relevant configuration practices. These are profiling and configuration techniques, not distro benchmark results. See the official Lua plugin guide.

Checklist for a fair comparison

Before comparing configurations, publish the controls that make the result interpretable:

  • Hardware and platform: Machine and CPU, OS and version, terminal or UI, and power or performance state.
  • Configuration state: Neovim version, exact distro revision or lockfile, plugin state, and external dependencies.
  • Workload: Empty launch or the same representative file, with a separate file-opening test if that is important to readers.
  • Cache protocol: Cold or warm runs, plus how caches were reset or warmed.
  • Measurement: Command or profiler and the precise timing endpoint. Keep distinct methods in separate results.
  • Repetitions: Multiple runs and a summary of variation, not just the fastest observation.
  • First-run work: Installation, compilation, and network activity should be identified and separated from ordinary startup.

This is a practical method for controlling the differences in scope and timing described by the tools; the cited documentation does not prescribe one universal benchmark protocol.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

AstroNvimBenchmarkingLazyVimNeovimNvChad

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.