Comment by godelski

16 days ago

Load time is in seconds, even with the program cached. I can still load vim with a ton of plugins[0] and still load a project in a few hundred milliseconds.

Maybe VS Code is faster with fewer plugins but it's still "dog slow" to load and run. Only thing I'm "missing" in vim is the bloat

[0] personal I only use a handful but I've played around because why not

With LazyVim (requires NeoVim) and its load-on-demand architecture, startup time usually stays below 50 milliseconds even with a ton of plugins. Below 50ms is fast enough that it feels instant. Aliasing `nvim` to `n` in my ~/.bash_aliases just makes it even faster. cd to a project directory, run `n .` and I'm looking at the NeoVim file explorer plugin for that project directory. No break in thought flow, no standing up to get coffee while the IDE loads, just keep going.

  • Your focus on startup speed feels really alien to me. When working on a project I just keep vscode open. I reboot maybe once a week and starting vscode again takes about a second, and then maybe 10s of seconds of background processing, depending on the project size, for the language server to become fully operational. That's more than good enough for me.

    I've done a lot of shell-driven development in the 00s though, and I remember it did involve frequently firing up vim instances for editing just a single file. I no longer understand the appeal of that approach. Navigating between files (using fuzzy search or go-to-definition) is just a lot faster and more convenient.

    •   > starting vscode again takes about a second, and then maybe 10s of seconds of background processing
      

      Yet I'm doing the same thing instantly or near instantly.

      I don't reboot often and I'm still lazy and will leave projects open often, but honestly, have you considered that your workflow is an adaptation to the wait time?

        > Navigating between files (using fuzzy search or go-to-definition) is just a lot faster and more convenient.
      

      I agree? But why do you think people don't fuzzy search in vim? Or the terminal? There's been tools to do this for a very long time. Fzf is over a decade old and wasn't the first

      3 replies →

    • LazyVim includes a bunch of pre-configured plugins that turn NeoVim into an IDE. Fuzzy search by filename, search by text, file explorer, go to definition, go to reference... Even debugging and unit test runners, it's all there. Yet when I'm at the command line and I need to make a quick edit to one file, e.g. `nvim ~/.bashrc`, I don't pay the startup cost of waiting for 50 plugins I'm not going to use. So it's the best of both worlds.

  • To be honest I was giving myself some leeway. I'm pretty sure I'm loading in well below 100ms. It feels instant

>>Load time is in seconds, even with the program cached.

Are you like, for real? How often do you load it up for it to matter in the slightest? Do you not just open the project once at the start of the day and then continue working?

Sorry but for someone used to working in VS proper and projects which take minimum 40 minutes to build, saying that a startup time of a few seconds is a problem is.....just hard to understand.

  •   > How often do you load it
    

    A few dozen times a day?

    I live in the terminal and opening files with vim is the primary way I interact with them.

      > Do you not just open the project once at the start of the day and then continue working?
    

    I mean I do this too

      > projects which take minimum 40 minutes to build
    

    This sounds problematic and a whole different category of problems.

    Don't you have partial compiles? Parallel compiling? Upgrade your machine?

    But it's not just startup time. I use less RAM, less CPU resources, jumping through tags is instant, working through the debugger is instant, opening new files is instant, fuzzy searching my system is instant. It sounds like the program you're working on and your editor are fighting for resources and I've never faced that problem with vim

    • >>Don't you have partial compiles? Parallel compiling?

      We do. Without it it it takes over 3 hours for a full project build. Normally if I change one line of code and hit "run" it takes ~10-15 minutes for the app to start, depending on which file I changed.

      >>Upgrade your machine?

      It's a 64 core/128 thread core Threadripper workstation with 256GB of ram, so not many upgrade options from that.

      It's a huge C++ project, heavily templated, that's kinda normal. My previous 2 projects were also like this.

      4 replies →