I’ve been evaluating Inkdrop quite a bit, and it’s been a very smooth app so far the only thing that doesn’t feel great is the startup time.
For example, my old system of note taking used Sublime Text 3 (a text editor) which takes about 300-600 milliseconds to start, but when I start Inkdrop it takes 4-6 seconds to start up.
I understand that the underlying app is Electron, so there’s limitations there, but I was wondering if there is anything else I can do to keep the startup time as low as possible?
As part of evaluating Inkdrop, I’ve written a few plugins to try to get importing and exporting working the way I want, and it looks like maybe Babel runs for the app or maybe for every plugin on load? Maybe I’m misunderstanding that, it might be cached so only the first startup requires Babel. If not, perhaps that could be an area to explore.
require file resolution algorithm is very expensive with filesystem access, so bundling many hundreds or thousands of files into a single one can be the difference between a 20 second startup time and a 500 millisecond startup time (in Azure Functions or AWS Lambdas).
Anyway, just wondering if there’s anything I can do, and also offering my optimization knowledge and skills/experience to you if it would be helpful.