It's very snappy to open if you run it as a server. Defining an alias for 'emacsclient -a= -c' was enough for me. It will boot Emacs if it's not already running, but otherwise, you immediately get a new frame hooked up to the running instance. You can also run Emacs as a systemd user service, to spare even that first delay.
You do have to get into the habit of exiting by closing the buffer or the frame instead of quitting Emacs.
I’ve tried that a few times, but inevitably emacs+plugins get into a bad state and I have to restart.
Plus I haven’t figured out how to keep my buffers organized. When I’m working on project x, I don’t want to see project y buffers. I’m sure there are many plugins for that too, but the state gets corrupted over time and stuff I use quits working.
I much prefer separate instances for separate work, and nvim or vim start from scratch faster than an emacsclient connects.
But alas, emacs is just too slow during startup for my workflow. I use it with clojure but only because of Cider.